NCEPLIBS-ip 5.2.0
|
Public Member Functions | |
procedure | field_pos (self, i, j) |
Field position for a given grid point. | |
procedure | gdswzd (self, iopt, npts, fill, xpts, ypts, rlon, rlat, nret, crot, srot, xlon, xlat, ylon, ylat, area) |
Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1). | |
generic | init init_grib1 |
Init subprogram. | |
generic | init init_grib2 |
Init subprogram. | |
procedure | init_grib1 (self, g1_desc) |
Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object. | |
procedure | init_grib2 (self, g2_desc) |
Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object. | |
Data Fields | |
real(kd) | clat0 |
Cosine of the latitude of the southern pole of projection. | |
class(ip_grid_descriptor), allocatable | descriptor |
Descriptor. | |
real(kd) | dlats |
'J'-direction grid increment. | |
real(kd) | dlons |
'I'-direction grid increment. | |
real | eccen_squared |
Eccentricity of the Earth squared (e^2). | |
real(kd) | hi |
Scan mode in the 'i' direction. | |
integer | im |
Number of x points. | |
integer | irot |
Rotation flag. | |
integer | iwrap |
x wraparound increment (0 if no wraparound). | |
integer | jm |
Number of y points. | |
integer | jwrap1 |
y wraparound lower pivot point (0 if no wraparound). | |
integer | jwrap2 |
y wraparound upper pivot point (0 if no wraparound). | |
integer | kscan |
Mass/wind flag for staggered diagonal (0 if mass; 1 if wind). | |
integer | nm |
Total number of points. | |
integer | nscan |
integer | nscan_field_pos |
nscan for field_pos routine. | |
real | rerth |
Radius of the Earth. | |
real(kd) | rlat1 |
Latitude of first grid point. | |
real(kd) | rlon0 |
Longitude of southern pole of projection. | |
real(kd) | rlon1 |
Longitude of first grid point. | |
real(kd) | slat0 |
Sine of the latitude of the southern pole of projection. | |
Definition at line 37 of file ip_rot_equid_cylind_egrid_mod.F90.
|
inherited |
Field position for a given grid point.
Returns the field position for a given grid point.
[in] | self | |
[in] | i | |
[in] | j |
Definition at line 91 of file ip_grid_mod.F90.
procedure ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::gdswzd | ( | class(ip_rot_equid_cylind_egrid), intent(in) | self, |
integer, intent(in) | iopt, | ||
integer, intent(in) | npts, | ||
real, intent(in) | fill, | ||
real, dimension(npts), intent(inout) | xpts, | ||
real, dimension(npts), intent(inout) | ypts, | ||
real, dimension(npts), intent(inout) | rlon, | ||
real, dimension(npts), intent(inout) | rlat, | ||
integer, intent(out) | nret, | ||
real, dimension(npts), intent(out), optional | crot, | ||
real, dimension(npts), intent(out), optional | srot, | ||
real, dimension(npts), intent(out), optional | xlon, | ||
real, dimension(npts), intent(out), optional | xlat, | ||
real, dimension(npts), intent(out), optional | ylon, | ||
real, dimension(npts), intent(out), optional | ylat, | ||
real, dimension(npts), intent(out), optional | area | ||
) |
Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1).
Works for e-staggered rotated equidistant cylindrical projections. The scan mode determines whether this is an "h" or "v" grid.
If the selected coordinates are more than one gridpoint beyond the the edges of the grid domain, then the relevant output elements are set to fill values.
The actual number of valid points computed is returned too. Optionally, the vector rotations, the map jacobians and the grid box areas may be returned as well.
To compute the vector rotations, the optional arguments 'srot' and 'crot' must be present.
To compute the map jacobians, the optional arguments 'xlon', 'xlat', 'ylon', 'ylat' must be present.
To compute the grid box areas, the optional argument 'area' must be present.
[in] | self | The grid object gdswzd was called on. |
[in] | iopt | option flag
|
[in] | npts | Maximum number of coordinates. |
[in] | fill | Fill value to set invalid output data. Must be impossible value; suggested value: -9999. |
[in,out] | xpts | Grid x point coordinates if iopt>0. |
[in,out] | ypts | Grid y point coordinates if iopt>0. |
[in,out] | rlon | Earth longitudes in degrees e if iopt<0 (Acceptable range: -360. to 360.) |
[in,out] | rlat | Earth latitudes in degrees n if iopt<0 (Acceptable range: -90. to 90.) |
[out] | nret | Number of valid points computed. |
[out] | crot | Optional clockwise vector rotation cosines. |
[out] | srot | Optional clockwise vector rotation sines. |
[out] | xlon | Optional dx/dlon in 1/degrees. |
[out] | xlat | Optional dx/dlat in 1/degrees. |
[out] | ylon | Optional dy/dlon in 1/degrees. |
[out] | ylat | Optional dy/dlat in 1/degrees. |
[out] | area | Optional area weights in m**2. |
Definition at line 62 of file ip_rot_equid_cylind_egrid_mod.F90.
|
inherited |
|
inherited |
procedure ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib1 | ( | class(ip_rot_equid_cylind_egrid), intent(inout) | self, |
type(grib1_descriptor), intent(in) | g1_desc | ||
) |
Initializes a rotated equidistant cylindrical grid given a grib1_descriptor object.
[in,out] | self | The grid to initialize |
[in] | g1_desc | A grib1_descriptor |
Definition at line 54 of file ip_rot_equid_cylind_egrid_mod.F90.
procedure ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::init_grib2 | ( | class(ip_rot_equid_cylind_egrid), intent(inout) | self, |
type(grib2_descriptor), intent(in) | g2_desc | ||
) |
Initializes a rotated equidistant cylindrical grid given a grib2_descriptor object.
[in,out] | self | The grid to initialize |
[in] | g2_desc | A grib2_descriptor |
Definition at line 58 of file ip_rot_equid_cylind_egrid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::clat0 |
Cosine of the latitude of the southern pole of projection.
Definition at line 41 of file ip_rot_equid_cylind_egrid_mod.F90.
|
inherited |
Descriptor.
Definition at line 59 of file ip_grid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlats |
'J'-direction grid increment.
Definition at line 43 of file ip_rot_equid_cylind_egrid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::dlons |
'I'-direction grid increment.
Definition at line 44 of file ip_rot_equid_cylind_egrid_mod.F90.
|
inherited |
Eccentricity of the Earth squared (e^2).
Definition at line 78 of file ip_grid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::hi |
Scan mode in the 'i' direction.
Definition at line 45 of file ip_rot_equid_cylind_egrid_mod.F90.
|
inherited |
Number of x points.
Definition at line 61 of file ip_grid_mod.F90.
integer ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::irot |
Rotation flag.
When '0' the u/v vector components are relative to north/east. When '1' the u/v vector components are grid relative.
Definition at line 49 of file ip_rot_equid_cylind_egrid_mod.F90.
|
inherited |
x wraparound increment (0 if no wraparound).
Definition at line 74 of file ip_grid_mod.F90.
|
inherited |
Number of y points.
Definition at line 62 of file ip_grid_mod.F90.
|
inherited |
y wraparound lower pivot point (0 if no wraparound).
Definition at line 75 of file ip_grid_mod.F90.
|
inherited |
y wraparound upper pivot point (0 if no wraparound).
Definition at line 76 of file ip_grid_mod.F90.
|
inherited |
Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).
Definition at line 70 of file ip_grid_mod.F90.
|
inherited |
Total number of points.
Definition at line 63 of file ip_grid_mod.F90.
|
inherited |
Scanning | mode.
|
Definition at line 69 of file ip_grid_mod.F90.
|
inherited |
nscan for field_pos routine.
Can be different than nscan due to differences in grib/grib2.
Definition at line 72 of file ip_grid_mod.F90.
|
inherited |
Radius of the Earth.
Definition at line 77 of file ip_grid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlat1 |
Latitude of first grid point.
Definition at line 40 of file ip_rot_equid_cylind_egrid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon0 |
Longitude of southern pole of projection.
Definition at line 38 of file ip_rot_equid_cylind_egrid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::rlon1 |
Longitude of first grid point.
Definition at line 39 of file ip_rot_equid_cylind_egrid_mod.F90.
real(kd) ip_rot_equid_cylind_egrid_mod::ip_rot_equid_cylind_egrid::slat0 |
Sine of the latitude of the southern pole of projection.
Definition at line 42 of file ip_rot_equid_cylind_egrid_mod.F90.