Define a set of utilty procedures which use ESMF.
More...
Go to the source code of this file.
|
logical function, public | utils_esmf_mod::chkerr (rc, line, file) |
| Handle ESMF errors. More...
|
|
subroutine, public | utils_esmf_mod::createrh (srcmeshfile, dstmeshfile, rc) |
| Create a RH. More...
|
|
subroutine | utils_esmf_mod::dynlevmaskproc (dynamicMaskList, dynamicSrcMaskValue, dynamicDstMaskValue, rc) |
| A dynamic mask procedure for ocean vertical levels. More...
|
|
subroutine | utils_esmf_mod::remaprh1d (kk, src_field, dst_field, rc) |
| Remap a field of nlen via ESMF RH. More...
|
|
subroutine | utils_esmf_mod::remaprh1ddyn (kk, src_field, dst_field, hmask, rc) |
| Remap a field of nlen via ESMF RH with dynamic masking. More...
|
|
subroutine | utils_esmf_mod::remaprh2d (src_field, dst_field, rc) |
| Remap a packed field of nflds,nlen via ESMF RH. More...
|
|
subroutine | utils_esmf_mod::remaprh2ddyn (kk, src_field, dst_field, hmask, rc) |
| Remap a packed field of nflds,nlen via ESMF RH with dyanmic masking. More...
|
|
subroutine | utils_esmf_mod::rotremap2d (wdir, vars, cosrot, sinrot, dims, nflds, fields) |
| Rotate 2D vectors from EN->IJ and map back to native staggers. More...
|
|
subroutine | utils_esmf_mod::rotremap3d (wdir, vars, cosrot, sinrot, dims, nflds, fields) |
| Rotate 3D vectors on nlevs from EN->IJ and map back to native staggers. More...
|
|
Define a set of utilty procedures which use ESMF.
- Author
- Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov
This module defines the RouteHandle and mapping procedures
- Author
- Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov
Definition in file utils_esmf_mod.F90.
◆ chkerr()
logical function, public utils_esmf_mod::chkerr |
( |
integer, intent(in) |
rc, |
|
|
integer, intent(in) |
line, |
|
|
character(len=*), intent(in) |
file |
|
) |
| |
◆ createrh()
subroutine, public utils_esmf_mod::createrh |
( |
character(len=*), intent(in) |
srcmeshfile, |
|
|
character(len=*), intent(in) |
dstmeshfile, |
|
|
integer, intent(out) |
rc |
|
) |
| |
◆ dynlevmaskproc()
subroutine utils_esmf_mod::dynlevmaskproc |
( |
type(esmf_dynamicmaskelementr8r8r8), dimension(:), pointer |
dynamicMaskList, |
|
|
real(esmf_kind_r8), intent(in), optional |
dynamicSrcMaskValue, |
|
|
real(esmf_kind_r8), intent(in), optional |
dynamicDstMaskValue, |
|
|
integer, intent(out) |
rc |
|
) |
| |
|
private |
A dynamic mask procedure for ocean vertical levels.
- Parameters
-
[in] | dynamicMaskList | an ESMF Dynamic Mask element list |
[in] | dynamicSrcMaskValue | the masking value on the source grid (optional) |
[in] | dynamicDstMaskValue | the masking value on the destination grid (optional) |
[out] | rc | an error return code |
- Author
- Adapted from example in ESMF Reference manual (37.2.6 Dynamic Masking)
Definition at line 454 of file utils_esmf_mod.F90.
◆ remaprh1d()
subroutine utils_esmf_mod::remaprh1d |
( |
integer, intent(in) |
kk, |
|
|
real(kind=8), dimension(:), intent(in) |
src_field, |
|
|
real(kind=8), dimension(:), intent(out) |
dst_field, |
|
|
integer, intent(out) |
rc |
|
) |
| |
|
private |
◆ remaprh1ddyn()
subroutine utils_esmf_mod::remaprh1ddyn |
( |
integer, intent(in) |
kk, |
|
|
real(kind=8), dimension(:), intent(in) |
src_field, |
|
|
real(kind=8), dimension(:), intent(out) |
dst_field, |
|
|
real(kind=8), dimension(:), intent(in) |
hmask, |
|
|
integer, intent(out) |
rc |
|
) |
| |
|
private |
Remap a field of nlen via ESMF RH with dynamic masking.
- Parameters
-
[in] | kk | the vertical or category index |
[in] | src_field | the field on the source grid |
[in] | hmask | the mask field to use with dynamic masking |
[out] | dst_field | the field on the destination grid |
[out] | rc | an error return code |
- Author
- Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov
Definition at line 228 of file utils_esmf_mod.F90.
◆ remaprh2d()
subroutine utils_esmf_mod::remaprh2d |
( |
real(kind=8), dimension(:,:), intent(in) |
src_field, |
|
|
real(kind=8), dimension(:,:), intent(out) |
dst_field, |
|
|
integer, intent(out) |
rc |
|
) |
| |
|
private |
◆ remaprh2ddyn()
subroutine utils_esmf_mod::remaprh2ddyn |
( |
integer, intent(in) |
kk, |
|
|
real(kind=8), dimension(:,:), intent(in) |
src_field, |
|
|
real(kind=8), dimension(:,:), intent(out) |
dst_field, |
|
|
real(kind=8), dimension(:), intent(in) |
hmask, |
|
|
integer, intent(out) |
rc |
|
) |
| |
|
private |
Remap a packed field of nflds,nlen via ESMF RH with dyanmic masking.
- Parameters
-
[in] | kk | the vertical or category index |
[in] | src_field | the field on the source grid |
[in] | hmask | the mask field to use with dynamic masking |
[out] | dst_field | the field on the destination grid |
[out] | rc | an error return code |
- Author
- Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov
Definition at line 281 of file utils_esmf_mod.F90.
◆ rotremap2d()
subroutine utils_esmf_mod::rotremap2d |
( |
character(len=*), intent(in) |
wdir, |
|
|
type(vardefs), dimension(:), intent(in) |
vars, |
|
|
real(kind=8), dimension(:), intent(in) |
cosrot, |
|
|
real(kind=8), dimension(:), intent(in) |
sinrot, |
|
|
integer, dimension(:), intent(in) |
dims, |
|
|
integer, intent(in) |
nflds, |
|
|
real(kind=8), dimension(:,:), intent(inout) |
fields |
|
) |
| |
|
private |
Rotate 2D vectors from EN->IJ and map back to native staggers.
- Parameters
-
[in] | wdir | the path to the required ESMF regridding weights |
[in] | cosrot | the cosine of the rotation angle |
[in] | sinrot | the sine of the rotation angle |
[in] | vars | a structure describing the variable metadata |
[in] | dims | the dimensions of the fields |
[in] | nflds | the number of fields in the packed array |
[out] | fields | the rotated and mapped fields |
- Author
- Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov
Definition at line 344 of file utils_esmf_mod.F90.
◆ rotremap3d()
subroutine utils_esmf_mod::rotremap3d |
( |
character(len=*), intent(in) |
wdir, |
|
|
type(vardefs), dimension(:), intent(in) |
vars, |
|
|
real(kind=8), dimension(:), intent(in) |
cosrot, |
|
|
real(kind=8), dimension(:), intent(in) |
sinrot, |
|
|
integer, dimension(:), intent(in) |
dims, |
|
|
integer, intent(in) |
nflds, |
|
|
real(kind=8), dimension(:,:,:), intent(inout) |
fields |
|
) |
| |
|
private |
Rotate 3D vectors on nlevs from EN->IJ and map back to native staggers.
- Parameters
-
[in] | wdir | the path to the required ESMF regridding weights |
[in] | cosrot | the cosine of the rotation angle |
[in] | sinrot | the sine of the rotation angle |
[in] | vars | a structure describing the variable metadata |
[in] | dims | the dimensions of the fields |
[in] | nflds | the number of fields in the packed array |
[out] | fields | the rotated and mapped fields |
- Author
- Denis.nosp@m.e.Wo.nosp@m.rthen.nosp@m.@noa.nosp@m.a.gov
Definition at line 401 of file utils_esmf_mod.F90.
◆ dynamiclevmask
type(esmf_dynamicmask) utils_esmf_mod::dynamiclevmask |
|
private |
◆ meshdst
type(esmf_mesh) utils_esmf_mod::meshdst |
|
private |
◆ meshsrc
type(esmf_mesh) utils_esmf_mod::meshsrc |
|
private |
◆ rh
type(esmf_routehandle) utils_esmf_mod::rh |
|
private |
◆ srctermprocessing
integer utils_esmf_mod::srctermprocessing = 0 |
|
private |
The source term processing flag, required for Dynamic Masking.
Definition at line 24 of file utils_esmf_mod.F90.
◆ u_file_u
character(len=*), parameter utils_esmf_mod::u_file_u = __FILE__ |
|
private |