| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ESMF_Grid), | intent(in) | :: | grid_in | |||
| type(ESMF_Grid), | intent(in) | :: | grid_out | |||
| integer | :: | regrid_method | ||||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this | |||
| type(ESMF_TypeKind_Flag), | intent(in) | :: | kind | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this | |||
| type(RegridderSpec), | intent(in) | :: | spec | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TilingRegridder), | intent(inout) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this | |||
| type(RegridderSpec), | intent(in) | :: | spec | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
$ if(MAPL_Assert(abs( (rngIn-rngOut)/rngIn ) < 1.e-5, ‘range to small’,1,”/home/runner/work/MAPL/MAPL/base/MAPL_LatLonToLatLonRegridder.F90”,569 ,rc)) return
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LatLonToLatLonRegridder), | intent(inout) | :: | this | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in | |||
| type(ESMF_Field), | intent(in) | :: | f_out | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in(NUM_DIM) | |||
| type(ESMF_Field), | intent(in) | :: | f_out(NUM_DIM) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TilingRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in | |||
| type(ESMF_Field), | intent(in) | :: | f_out | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in(NUM_DIM) | |||
| type(ESMF_Field), | intent(in) | :: | f_out(NUM_DIM) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LatLonToLatLonRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LatLonToLatLonRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(LatLonToLatLonRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this | |||
| type(RegridderSpec), | intent(in) | :: | spec |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(inout) | :: | this | |||
| real | :: | undef_value |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(RegridderSpec), | intent(in) | :: | spec | |||
| class(KeywordEnforcer), | intent(in), | optional | :: | unusable | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in | |||
| type(ESMF_Field), | intent(in) | :: | f_out | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in(NUM_DIM) | |||
| type(ESMF_Field), | intent(in) | :: | f_out(NUM_DIM) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in | |||
| type(ESMF_Field), | intent(in) | :: | f_out | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| type(ESMF_Field), | intent(in) | :: | f_in(NUM_DIM) | |||
| type(ESMF_Field), | intent(in) | :: | f_out(NUM_DIM) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | q_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | q_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL32), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL32), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL32), | intent(out) | :: | v_out(:,:,:) | |||
| logical, | intent(in), | optional | :: | rotate | ||
| integer, | intent(out), | optional | :: | rc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(AbstractRegridder), | intent(in) | :: | this | |||
| real(kind=REAL64), | intent(in) | :: | u_in(:,:,:) | |||
| real(kind=REAL64), | intent(in) | :: | v_in(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | u_out(:,:,:) | |||
| real(kind=REAL64), | intent(out) | :: | v_out(:,:,:) | |||
| integer, | intent(out), | optional | :: | rc |
type, extends(AbstractRegridder) :: LatLonToLatLonRegridder private type (ESMF_Grid) :: grid_in type (ESMF_Grid) :: grid_out integer :: num_points_in(NUM_DIMS+1) integer :: num_points_out(NUM_DIMS+1) type (Mapping) :: mappings(NUM_DIMS) contains procedure :: initialize_subclass procedure :: regrid_scalar_2d_real32 => apply_weights_real32 procedure :: regrid_scalar_2d_real64 => apply_weights_real64 procedure :: regrid_scalar_3d_real32 end type LatLonToLatLonRegridder