NCEPLIBS-ip
4.1.0
|
Gaussian grid coordinate transformations. More...
Data Types | |
type | ip_gaussian_grid |
Functions/Subroutines | |
subroutine | gaussian_grid_area (YPTS, AREA) |
Computes the grid box area for a gaussian cylindrical grid. More... | |
subroutine | gaussian_map_jacob (YPTS, XLON, XLAT, YLON, YLAT) |
Computes the map jacobians for a gaussian cylindrical grid. More... | |
subroutine | gaussian_vect_rot (CROT, SROT) |
Computes the vector rotation sines and cosines for a gaussian cylindrical grid. More... | |
subroutine | gdswzd_gaussian (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) for Gaussian grids. More... | |
subroutine | init_grib1 (self, g1_desc) |
Initializes a gaussian grid given a grib1_descriptor object. More... | |
subroutine | init_grib2 (self, g2_desc) |
Initializes a gaussian grid given a grib2_descriptor object. More... | |
Variables | |
real, dimension(:), allocatable | blat |
Gaussian latitude for each parallel. More... | |
real | dlon |
"i"-direction increment. More... | |
integer | j1 |
'j' index of first grid point within the global array of latitudes. More... | |
integer | jh |
Scan mode flag in 'j' direction. More... | |
real | rerth |
Radius of the earth. More... | |
real, dimension(:), allocatable | ylat_row |
dy/dlat for each row in 1/degrees. More... | |
Gaussian grid coordinate transformations.
Octet numbers refer to [GRIB2 - GRID DEFINITION TEMPLATE 3.40 Gaussian Latitude/Longitude](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-40.shtml).
|
private |
Computes the grid box area for a gaussian cylindrical grid.
[in] | ypts | y-index of grid point. |
[out] | area | Area weights in m^2 |
Definition at line 416 of file ip_gaussian_grid_mod.F90.
References blat, dlon, j1, jh, and rerth.
Referenced by gdswzd_gaussian().
|
private |
Computes the map jacobians for a gaussian cylindrical grid.
[in] | ypts | y-index of grid point. |
[out] | xlon | dx/dlon in 1/degrees. |
[out] | xlat | dx/dlat in 1/degrees. |
[out] | ylon | dy/dlon in 1/degrees. |
[out] | ylat | dy/dlat in 1/degrees. |
Definition at line 396 of file ip_gaussian_grid_mod.F90.
References dlon, and ylat_row.
Referenced by gdswzd_gaussian().
|
private |
Computes the vector rotation sines and cosines for a gaussian cylindrical grid.
[out] | crot | Clockwise vector rotation cosines. |
[out] | srot | Clockwise vector rotation sines. |
Definition at line 376 of file ip_gaussian_grid_mod.F90.
Referenced by gdswzd_gaussian().
|
private |
Calculates Earth coordinates (iopt = 1) or grid coorindates (iopt = -1) for Gaussian grids.
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 194 of file ip_gaussian_grid_mod.F90.
References blat, dlon, gaussian_grid_area(), gaussian_map_jacob(), gaussian_vect_rot(), j1, jh, rerth, and ylat_row.
|
private |
Initializes a gaussian grid given a grib1_descriptor object.
[in,out] | self | The grid to initialize |
[in] | g1_desc | A grib1_descriptor |
Definition at line 59 of file ip_gaussian_grid_mod.F90.
|
private |
Initializes a gaussian grid given a grib2_descriptor object.
[in,out] | self | The grid to initialize |
[in] | g2_desc | A grib2_descriptor |
Definition at line 108 of file ip_gaussian_grid_mod.F90.
|
private |
Gaussian latitude for each parallel.
Definition at line 45 of file ip_gaussian_grid_mod.F90.
Referenced by gaussian_grid_area(), and gdswzd_gaussian().
|
private |
"i"-direction increment.
GRIB2 Section 3, octets 64-67.
Definition at line 46 of file ip_gaussian_grid_mod.F90.
Referenced by gaussian_grid_area(), gaussian_map_jacob(), and gdswzd_gaussian().
|
private |
'j' index of first grid point within the global array of latitudes.
Definition at line 43 of file ip_gaussian_grid_mod.F90.
Referenced by gaussian_grid_area(), and gdswzd_gaussian().
|
private |
Scan mode flag in 'j' direction.
When '1' points scan from N to S. When "-1" points scan from S to N.
Definition at line 44 of file ip_gaussian_grid_mod.F90.
Referenced by gaussian_grid_area(), and gdswzd_gaussian().
|
private |
Radius of the earth.
GRIB2 Section 3, octets 15-30.
Definition at line 47 of file ip_gaussian_grid_mod.F90.
Referenced by gaussian_grid_area(), and gdswzd_gaussian().
|
private |
dy/dlat for each row in 1/degrees.
Definition at line 48 of file ip_gaussian_grid_mod.F90.
Referenced by gaussian_map_jacob(), and gdswzd_gaussian().