NCEPLIBS-ip  5.1.0
ip_grid_mod Module Reference

Abstract ip_grid type. More...

Data Types

interface  gdswzd_interface
 
interface  init_grib1_interface
 
interface  init_grib2_interface
 
type  ip_grid
 Abstract grid that holds fields and methods common to all grids. More...
 
interface  operator(==)
 Check equality. More...
 

Functions/Subroutines

integer function field_pos (self, i, j)
 Returns the field position for a given grid point. More...
 
logical function is_same_grid (grid1, grid2)
 Compares two grids. More...
 
subroutine, public unuse_ncep_post_arakawa ()
 Disables ncep_post/wgrib2-compatible non-E Arakawa grib2 grids by setting 'ncep_post_arakawa=.false. More...
 
subroutine, public use_ncep_post_arakawa ()
 Enables ncep_post/wgrib2-compatible non-E Arakawa grib2 grids by setting 'ncep_post_arakawa=.true. More...
 

Variables

integer, parameter, public equid_cylind_grid_id_grib1 = 0
 Integer grid number for equidistant cylindrical grid in grib1. More...
 
integer, parameter, public equid_cylind_grid_id_grib2 = 0
 Integer grid number for equidistant cylindrical grid in grib2. More...
 
integer, parameter, public gaussian_grid_id_grib1 = 4
 Integer grid number for Gaussian grid in grib1. More...
 
integer, parameter, public gaussian_grid_id_grib2 = 40
 Integer grid number for Gaussian grid in grib2. More...
 
integer, parameter, public lambert_conf_grid_id_grib1 = 3
 Integer grid number for Lambert Conformal grid in grib1. More...
 
integer, parameter, public lambert_conf_grid_id_grib2 = 30
 Integer grid number for Lambert conformal grid in grib2. More...
 
integer, parameter, public mercator_grid_id_grib1 = 1
 Integer grid number for Mercator grid in grib1. More...
 
integer, parameter, public mercator_grid_id_grib2 = 10
 Integer grid number for Mercator grid in grib2. More...
 
logical, save, public ncep_post_arakawa =.false.
 Use ncep_post/wgrib2-compatible version of init_grib2() for non-E Arakawa grids (enable with use_ncep_post_arakawa()) More...
 
integer, parameter, public polar_stereo_grid_id_grib1 = 5
 Integer grid number for polar stereo grid in grib1. More...
 
integer, parameter, public polar_stereo_grid_id_grib2 = 20
 Integer grid number for polar stereo grid in grib2. More...
 
integer, parameter, public rot_equid_cylind_b_grid_id_grib1 = 205
 Integer grid number for rotated equidistant cylindrical B-stagger grid. More...
 
integer, parameter, public rot_equid_cylind_b_grid_id_grib2 = 32769
 Integer grid number for rotated equidistant cylindrical B-stagger grid (grib2) More...
 
integer, parameter, public rot_equid_cylind_e_grid_id_grib1 = 203
 Integer grid number for rotated equidistant cylindrical E-stagger grid. More...
 
integer, parameter, public rot_equid_cylind_e_grid_id_grib2 = 32768
 Integer grid number for rotated equidistant cylindrical E-stagger grid (grib2) More...
 
integer, parameter, public rot_equid_cylind_grid_id_grib2 = 1
 Integer grid number for rotated equidistant cylindrical grid in grib2. More...
 

Detailed Description

Abstract ip_grid type.

Author
Kyle Gerheiser
Date
July 2021

Function/Subroutine Documentation

◆ field_pos()

integer function ip_grid_mod::field_pos ( class(ip_grid), intent(in)  self,
integer, intent(in)  i,
integer, intent(in)  j 
)
private

Returns the field position for a given grid point.

Parameters
[in]self
[in]i
[in]j
Returns
Integer position in grib field to locate grid point.
Author
Mark Iredell, George Gayno, Kyle Gerheiser
Date
April 1996

Definition at line 223 of file ip_grid_mod.F90.

◆ is_same_grid()

logical function ip_grid_mod::is_same_grid ( class(ip_grid), intent(in)  grid1,
class(ip_grid), intent(in)  grid2 
)
private

Compares two grids.

Parameters
[in]grid1An ip_grid
[in]grid2Another ip_grid
Returns
True if the grids are the same, false if not.
Author
Kyle Gerheiser
Date
July 2021

Definition at line 208 of file ip_grid_mod.F90.

◆ unuse_ncep_post_arakawa()

subroutine, public ip_grid_mod::unuse_ncep_post_arakawa

Disables ncep_post/wgrib2-compatible non-E Arakawa grib2 grids by setting 'ncep_post_arakawa=.false.

'. This subroutine should be called prior to init_grib2().

Author
Alex Richert
Date
May 2024

Definition at line 195 of file ip_grid_mod.F90.

References ncep_post_arakawa.

◆ use_ncep_post_arakawa()

subroutine, public ip_grid_mod::use_ncep_post_arakawa

Enables ncep_post/wgrib2-compatible non-E Arakawa grib2 grids by setting 'ncep_post_arakawa=.true.

'. This subroutine should be called prior to init_grib2().

Author
Alex Richert
Date
May 2024

Definition at line 185 of file ip_grid_mod.F90.

References ncep_post_arakawa.

Variable Documentation

◆ equid_cylind_grid_id_grib1

integer, parameter, public ip_grid_mod::equid_cylind_grid_id_grib1 = 0

Integer grid number for equidistant cylindrical grid in grib1.

Definition at line 14 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ equid_cylind_grid_id_grib2

integer, parameter, public ip_grid_mod::equid_cylind_grid_id_grib2 = 0

Integer grid number for equidistant cylindrical grid in grib2.

Definition at line 22 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ gaussian_grid_id_grib1

integer, parameter, public ip_grid_mod::gaussian_grid_id_grib1 = 4

Integer grid number for Gaussian grid in grib1.

Definition at line 17 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ gaussian_grid_id_grib2

integer, parameter, public ip_grid_mod::gaussian_grid_id_grib2 = 40

Integer grid number for Gaussian grid in grib2.

Definition at line 27 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ lambert_conf_grid_id_grib1

integer, parameter, public ip_grid_mod::lambert_conf_grid_id_grib1 = 3

Integer grid number for Lambert Conformal grid in grib1.

Definition at line 16 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ lambert_conf_grid_id_grib2

integer, parameter, public ip_grid_mod::lambert_conf_grid_id_grib2 = 30

Integer grid number for Lambert conformal grid in grib2.

Definition at line 26 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ mercator_grid_id_grib1

integer, parameter, public ip_grid_mod::mercator_grid_id_grib1 = 1

Integer grid number for Mercator grid in grib1.

Definition at line 15 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ mercator_grid_id_grib2

integer, parameter, public ip_grid_mod::mercator_grid_id_grib2 = 10

Integer grid number for Mercator grid in grib2.

Definition at line 24 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ ncep_post_arakawa

logical, save, public ip_grid_mod::ncep_post_arakawa =.false.

Use ncep_post/wgrib2-compatible version of init_grib2() for non-E Arakawa grids (enable with use_ncep_post_arakawa())

Definition at line 31 of file ip_grid_mod.F90.

Referenced by unuse_ncep_post_arakawa(), and use_ncep_post_arakawa().

◆ polar_stereo_grid_id_grib1

integer, parameter, public ip_grid_mod::polar_stereo_grid_id_grib1 = 5

Integer grid number for polar stereo grid in grib1.

Definition at line 18 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ polar_stereo_grid_id_grib2

integer, parameter, public ip_grid_mod::polar_stereo_grid_id_grib2 = 20

Integer grid number for polar stereo grid in grib2.

Definition at line 25 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ rot_equid_cylind_b_grid_id_grib1

integer, parameter, public ip_grid_mod::rot_equid_cylind_b_grid_id_grib1 = 205

Integer grid number for rotated equidistant cylindrical B-stagger grid.

Definition at line 20 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ rot_equid_cylind_b_grid_id_grib2

integer, parameter, public ip_grid_mod::rot_equid_cylind_b_grid_id_grib2 = 32769

Integer grid number for rotated equidistant cylindrical B-stagger grid (grib2)

Definition at line 29 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ rot_equid_cylind_e_grid_id_grib1

integer, parameter, public ip_grid_mod::rot_equid_cylind_e_grid_id_grib1 = 203

Integer grid number for rotated equidistant cylindrical E-stagger grid.

Definition at line 19 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib1().

◆ rot_equid_cylind_e_grid_id_grib2

integer, parameter, public ip_grid_mod::rot_equid_cylind_e_grid_id_grib2 = 32768

Integer grid number for rotated equidistant cylindrical E-stagger grid (grib2)

Definition at line 28 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().

◆ rot_equid_cylind_grid_id_grib2

integer, parameter, public ip_grid_mod::rot_equid_cylind_grid_id_grib2 = 1

Integer grid number for rotated equidistant cylindrical grid in grib2.

Definition at line 23 of file ip_grid_mod.F90.

Referenced by ip_grid_factory_mod::init_grid_grib2().