ESMF_CFIOGridMod
Author: 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: |