ESMF_CFIOGridModAuthor: GMAO SI-Team
ESMF_CFIOGridMod - Source file for CFIO Grid
The code in this file provides grid data type definitions and interface specifications.
Define a new data type “CFIO_Grid” – contains grid information
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=MLEN), | public | :: | coordinate |
string to indicate vertical coord |
|||
| character(len=MLEN), | public | :: | formulaTerm |
string for CF formula terms |
|||
| character(len=MLEN), | public | :: | levUnits |
units of level dimension, e.g., “hPa”, “sigma_level” |
|||
| character(len=MLEN), | public | :: | standardName |
string for CF standard name |
|||
| character(len=MVARLEN), | public | :: | gName |
name for this grid |
|||
| character(len=MVARLEN), | public | :: | ptopUnit |
unit of ptop |
|||
| integer, | public | :: | im |
size of longitudinal dimension |
|||
| integer, | public | :: | jm |
size of latitudinal dimension |
|||
| integer, | public | :: | km |
size of vertical dimension |
|||
| integer, | public | :: | tm |
size of time dimension |
|||
| logical, | public | :: | reduceGrid |
support for reduced grid |
|||
| logical, | public | :: | stnGrid |
support for station data |
|||
| logical, | public | :: | twoDimLat |
support 2D lat/lon or not |
|||
| real(kind=REAL64), | public, | pointer | :: | lat(:) | => | NULL() |
latitude of center of gridbox in |
| real(kind=REAL64), | public, | pointer | :: | lev(:) | => | NULL() |
Level (units given by levUnits) of |
| real(kind=REAL64), | public, | pointer | :: | lon(:) | => | NULL() |
longitude of center of gridbox in |
| real, | public, | pointer | :: | ak(:) | => | NULL() |
parameter for hybrid sigma prs coord. |
| real, | public, | pointer | :: | bk(:) | => | NULL() |
parameter for hybrid sigma prs coord. |
| real, | public | :: | ptop |
parameter for sigma/eta coordinate |
|||
| real, | public, | pointer | :: | sigma(:) | => | NULL() |
parameter for sigma coordinate |
ESMF_CFIOGridCreate – ESMF_Grid object constructor
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in), | optional | :: | gName |
grid object name |
|
| integer, | intent(out), | optional | :: | rc |
Error return code: |
ESMF_CFIOGridDestroy – destructor for a CFIO grid object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ESMF_CFIOGrid), | intent(inout) | :: | grid |
CFIOGrid object |
||
| integer, | intent(out), | optional | :: | rc |
Error return code: |
ESMF_CFIOGridGet – get grid info
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ESMF_CFIOGrid), | intent(in) | :: | grid |
CFIO grid |
||
| character(len=*), | intent(out), | optional | :: | gName |
grid name |
|
| integer, | intent(out), | optional | :: | im |
size of longitudinal dimension |
|
| integer, | intent(out), | optional | :: | jm |
size of latitudinal dimension |
|
| integer, | intent(out), | optional | :: | km |
size of vertical dimension |
|
| integer, | intent(out), | optional | :: | tm |
size of time dimension |
|
| real, | optional, | pointer | :: | lat(:) |
latitude |
|
| real, | optional, | pointer | :: | lon(:) |
longitude |
|
| real, | optional, | pointer | :: | lev(:) |
Level |
|
| character(len=*), | intent(out), | optional | :: | coordinate |
string to indicate vertical coord (pressure, sigma, pressure_sigma) |
|
| character(len=*), | intent(out), | optional | :: | standardName |
string for standard name |
|
| character(len=*), | intent(out), | optional | :: | formulaTerm |
formula terms |
|
| character(len=*), | intent(out), | optional | :: | levUnit |
units of level dimension, e.g., “hPa”. |
|
| real, | intent(out), | optional | :: | ak(:) |
parameter for hybrid sigma prs coord. |
|
| real, | intent(out), | optional | :: | bk(:) |
parameter for hybrid sigma prs coord. |
|
| real, | intent(out), | optional | :: | sigma(:) |
parameter for sigma coordinate |
|
| real, | intent(out), | optional | :: | ptop |
parameter for sigma coordinate |
|
| logical, | intent(out), | optional | :: | twoDimLat |
support 2D lat/lon or not |
|
| logical, | intent(out), | optional | :: | reduceGrid |
support for reduced grid |
|
| logical, | intent(out), | optional | :: | stnGrid |
support for station grid |
|
| integer, | intent(out), | optional | :: | rc |
Error return code: |
ESMF_CFIOGridSet – set up a grid
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ESMF_CFIOGrid), | intent(inout) | :: | grid | |||
| character(len=*), | intent(in), | optional | :: | gName |
grid name |
|
| integer, | intent(in), | optional | :: | im |
size of longitudinal dimension |
|
| integer, | intent(in), | optional | :: | jm |
size of latitudinal dimension |
|
| integer, | intent(in), | optional | :: | km |
size of vertical dimension |
|
| integer, | intent(in), | optional | :: | tm |
size of time dimension |
|
| real, | intent(in), | optional | :: | lat(:) |
latitude |
|
| real, | intent(in), | optional | :: | lon(:) |
longitude |
|
| real, | intent(in), | optional | :: | lev(:) |
Level |
|
| character(len=*), | intent(in), | optional | :: | coordinate |
string to indicate vertical coord (pressure, sigma, pressure_sigma) |
|
| character(len=*), | intent(in), | optional | :: | standardName |
string for standard name |
|
| character(len=*), | intent(in), | optional | :: | formulaTerm |
formula terms |
|
| character(len=*), | intent(in), | optional | :: | levUnit |
units of level dimension, e.g., “hPa”. |
|
| real, | intent(in), | optional | :: | ak(:) |
parameter for hybrid sigma prs coord. |
|
| real, | intent(in), | optional | :: | bk(:) |
parameter for hybrid sigma prs coord. |
|
| real, | intent(in), | optional | :: | sigma(:) |
parameter for sigma coordinate |
|
| real, | intent(in), | optional | :: | ptop |
parameter for sigma coordinate |
|
| character(len=*), | intent(in), | optional | :: | ptopUnit |
unit of ptop |
|
| real(kind=REAL64), | optional, | pointer | :: | lat2(:) |
latitude 2d |
|
| real(kind=REAL64), | optional, | pointer | :: | lon2(:) |
longitude 2d |
|
| logical, | intent(in), | optional | :: | twoDimLat |
support 2D lat/lon or not |
|
| logical, | intent(in), | optional | :: | reduceGrid |
support for reduced grid |
|
| logical, | intent(in), | optional | :: | stnGrid |
support for statio grid |
|
| integer, | intent(out), | optional | :: | rc |
Error return code: |