NCEPLIBS-ip 5.2.0
|
Abstract grid that holds fields and methods common to all grids. More...
Public Member Functions | |
procedure | field_pos (self, i, j) |
Field position for a given grid point. | |
generic | init init_grib1 |
Init subprogram. | |
generic | init init_grib2 |
Init subprogram. | |
Data Fields | |
class(ip_grid_descriptor), allocatable | descriptor |
Descriptor. | |
real | eccen_squared |
Eccentricity of the Earth squared (e^2). | |
integer | im |
Number of x points. | |
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. | |
Abstract grid that holds fields and methods common to all grids.
ip_grid is meant to be subclassed when implementing a new grid.
There are three methods that must be implemented:
The init methods are responsible for setting up the grid using GRIB1/GRIB2 descriptors.
gdswzd() performs transformations to and from Earth coordinates and grid coordinates.
A good reference for all the map projection equations used by NCEPLIBS-ip can be found here: https://doi.org/10.3133/pp1395.
Definition at line 58 of file ip_grid_mod.F90.
procedure ip_grid_mod::ip_grid::field_pos | ( | class(ip_grid), intent(in) | self, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
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.
generic ip_grid_mod::ip_grid::init |
generic ip_grid_mod::ip_grid::init |
class(ip_grid_descriptor), allocatable ip_grid_mod::ip_grid::descriptor |
Descriptor.
Definition at line 59 of file ip_grid_mod.F90.
real ip_grid_mod::ip_grid::eccen_squared |
Eccentricity of the Earth squared (e^2).
Definition at line 78 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::im |
Number of x points.
Definition at line 61 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::iwrap |
x wraparound increment (0 if no wraparound).
Definition at line 74 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::jm |
Number of y points.
Definition at line 62 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::jwrap1 |
y wraparound lower pivot point (0 if no wraparound).
Definition at line 75 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::jwrap2 |
y wraparound upper pivot point (0 if no wraparound).
Definition at line 76 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::kscan |
Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).
Definition at line 70 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::nm |
Total number of points.
Definition at line 63 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::nscan |
Scanning | mode.
|
Definition at line 69 of file ip_grid_mod.F90.
integer ip_grid_mod::ip_grid::nscan_field_pos |
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.
real ip_grid_mod::ip_grid::rerth |
Radius of the Earth.
Definition at line 77 of file ip_grid_mod.F90.