| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(FileMetadata), | intent(inout) | :: | metadata |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(Variable), | intent(inout) | :: | var |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v(:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v(:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v(:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v(:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v(:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v(:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v(:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | xyz(:,:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v(:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this | |||
| class(AbstractGridFactory), | intent(in) | :: | a |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | a | |||
| class(AbstractGridFactory), | intent(in) | :: | b |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Grid), | intent(inout) | :: | grid | |||
| integer, | intent(out), | allocatable | :: | local_start(:) | ||
| integer, | intent(out), | allocatable | :: | global_start(:) | ||
| integer, | intent(out), | allocatable | :: | global_count(:) | ||
| type(FileMetadata), | intent(in), | optional | :: | metaData | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Grid), | intent(inout) | :: | grid | |||
| integer, | intent(out), | allocatable | :: | local_start(:) | ||
| integer, | intent(out), | allocatable | :: | global_start(:) | ||
| integer, | intent(out), | allocatable | :: | global_count(:) | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| real, | intent(in), | pointer | :: | fpointer(:,:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| real, | intent(in), | pointer | :: | fpointer(:,:,:) | ||
| type(FileMetadata), | intent(in), | optional | :: | metaData |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | target | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Grid), | intent(in) | :: | grid | |||
| real(kind=ESMF_KIND_R4), | intent(out) | :: | obs_time(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Time), | intent(in) | :: | interval(2) | |||
| integer, | intent(out), | allocatable | :: | xy_mask(:,:) | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this | |||
| type(ESMF_Time), | intent(in) | :: | interval(2) | |||
| integer, | intent(out) | :: | xy_subset(2,2) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| real(kind=REAL32), | intent(inout) | :: | array(:,:) | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(in), | optional | :: | halo_width | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Config), | intent(inout) | :: | config | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(XYGridFactory), | intent(inout) | :: | this | |||
| type(FileMetadata), | intent(in), | target | :: | file_metadata | ||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| logical, | intent(in), | optional | :: | force_file_coordinates | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(XYGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Config), | intent(inout) | :: | config | |||
| character(len=*), | intent(in) | :: | prefix | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(XYGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_DistGrid), | intent(in) | :: | dist_grid | |||
| type(ESMF_LocalArray), | intent(in) | :: | lon_array | |||
| type(ESMF_LocalArray), | intent(in) | :: | lat_array | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Config), | intent(inout) | :: | config | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_Config), | intent(inout) | :: | config | |||
| character(len=*), | intent(in) | :: | prefix | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(ESMF_DistGrid), | intent(in) | :: | dist_grid | |||
| type(ESMF_LocalArray), | intent(in) | :: | lon_array | |||
| type(ESMF_LocalArray), | intent(in) | :: | lat_array | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| type(FileMetadata), | intent(in), | target | :: | file_metadata | ||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| logical, | intent(in), | optional | :: | force_file_coordinates | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out) | :: | nx | |||
| integer, | intent(out) | :: | ny | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(in), | optional | :: | reduceFactor | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| logical, | intent(in), | optional | :: | force_new_grid | ||
| integer, | intent(out), | optional | :: | rc |
$ procedure (make_field), deferred :: make_esmf_field
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(XYGridFactory), | intent(in) | :: | a | |||
| class(AbstractGridFactory), | intent(in) | :: | b |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this | |||
| class(AbstractGridFactory), | intent(in) | :: | a |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | u(:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | u(:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | u(:,:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | u(:,:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | u(:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | u(:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL32), | intent(in) | :: | u(:,:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(inout), | target | :: | this | ||
| real(kind=REAL64), | intent(in) | :: | u(:,:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | xyz(:,:,:,:) | |||
| character(len=*), | intent(in) | :: | basis | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractGridFactory), | intent(in) | :: | this |
type, abstract :: AbstractGridFactory private type (ESMF_Grid), allocatable :: grid real(kind=REAL64), allocatable :: NS_basis(:,:,:,:) real(kind=REAL64), allocatable :: grid_basis(:,:,:,:) real(kind=REAL64), allocatable :: xyz_basis(:,:,:,:) contains procedure, nopass :: make_arbitrary_decomposition procedure :: make_grid procedure :: get_grid procedure (make_new_grid), deferred :: make_new_grid !!$ procedure (make_field), deferred :: make_esmf_field procedure :: clone procedure (equals), deferred:: equals generic :: operator(==) => equals procedure :: initialize_from_config procedure (initialize_from_file_metadata), deferred :: initialize_from_file_metadata procedure (initialize_from_config_with_prefix), deferred :: initialize_from_config_with_prefix procedure (initialize_from_esmf_distGrid), deferred :: initialize_from_esmf_distGrid generic :: initialize => initialize_from_config generic :: initialize => initialize_from_file_metadata generic :: initialize => initialize_from_config_with_prefix generic :: initialize => initialize_from_esmf_distGrid ! from MAPL_stubs procedure(halo), deferred :: halo procedure (generate_grid_name), deferred :: generate_grid_name procedure :: to_string procedure :: get_basis generic :: spherical_to_cartesian => spherical_to_cartesian_2d_real32 generic :: spherical_to_cartesian => spherical_to_cartesian_2d_real64 generic :: spherical_to_cartesian => spherical_to_cartesian_3d_real32 generic :: spherical_to_cartesian => spherical_to_cartesian_3d_real64 generic :: cartesian_to_spherical => cartesian_to_spherical_2d_real32 generic :: cartesian_to_spherical => cartesian_to_spherical_2d_real64 generic :: cartesian_to_spherical => cartesian_to_spherical_3d_real32 generic :: cartesian_to_spherical => cartesian_to_spherical_3d_real64 procedure :: spherical_to_cartesian_2d_real32 procedure :: spherical_to_cartesian_2d_real64 procedure :: spherical_to_cartesian_3d_real32 procedure :: spherical_to_cartesian_3d_real64 procedure :: cartesian_to_spherical_2d_real32 procedure :: cartesian_to_spherical_2d_real64 procedure :: cartesian_to_spherical_3d_real32 procedure :: cartesian_to_spherical_3d_real64 procedure(append_metadata), deferred :: append_metadata procedure(get_grid_vars), deferred :: get_grid_vars procedure(append_variable_metadata), deferred :: append_variable_metadata procedure(generate_file_bounds), deferred :: generate_file_bounds procedure(generate_file_corner_bounds), deferred :: generate_file_corner_bounds procedure(generate_file_reference2D), deferred :: generate_file_reference2D procedure(generate_file_reference3D), deferred :: generate_file_reference3D procedure(get_file_format_vars), deferred :: get_file_format_vars procedure(decomps_are_equal), deferred :: decomps_are_equal procedure(physical_params_are_equal), deferred :: physical_params_are_equal procedure :: get_xy_subset procedure :: get_xy_mask procedure :: destroy procedure :: get_obs_time end type AbstractGridFactory