NCEPLIBS-ip 5.2.0
Loading...
Searching...
No Matches
ip_polar_stereo_grid_mod::ip_polar_stereo_grid Type Reference
Inheritance diagram for ip_polar_stereo_grid_mod::ip_polar_stereo_grid:
ip_grid_mod::ip_grid

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 grid given a grib1_descriptor object.
 
procedure init_grib2 (self, g2_desc)
 Initializes a grid given a grib2_descriptor object.
 

Data Fields

class(ip_grid_descriptor), allocatable descriptor
 Descriptor.
 
real dxs
 'x'-direction grid length, adjusted by the scanning mode.
 
real dys
 'y'-direction grid length, adjusted by the scanning mode.
 
real eccen_squared
 Eccentricity of the Earth squared (e^2).
 
logical elliptical
 When true/false, computations are based on an elliptical/spherical earth.
 
real h
 Hemisphere flag.
 
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 orient
 Orientation longitude.
 
real rerth
 Radius of the Earth.
 
real rlat1
 Latitude of the first grid point.
 
real rlon1
 Longitude of the first grid point.
 
real slatr
 Standard latitude of grid in radians.
 

Detailed Description

Definition at line 23 of file ip_polar_stereo_grid_mod.F90.

Member Function/Subroutine Documentation

◆ field_pos()

procedure ip_grid_mod::ip_grid::field_pos ( class(ip_grid), intent(in)  self,
integer, intent(in)  i,
integer, intent(in)  j 
)
inherited

Field position for a given grid point.

Returns
Integer position in grib field to locate grid point.

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 91 of file ip_grid_mod.F90.

◆ gdswzd()

procedure ip_polar_stereo_grid_mod::ip_polar_stereo_grid::gdswzd ( class(ip_polar_stereo_grid), 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).

Returns
N/A GDS wizard for polar stereographic azimuthal.

This subprogram decodes the grib 2 grid definition template (passed in integer form as decoded by the ncep g2 library) and returns one of the following:

  • (iopt=+1) earth coordinates of selected grid coordinates
  • (iopt=-1) grid coordinates of selected earth coordinates

Works for polar stereographic azimuthal projections.

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, map jacobians, and grid box areas may be returned as well. Routine works for both spherical and elliptical earths with the exception of the map jacobians and grid box areas, which are only computed for spherical earths.

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.

Program History Log

Date Programmer Comments
96-04-10 iredell Initial
97-10-20 iredell include map options
09-05-13 gayno ensure area always positive
2015-01-21 gayno merger of gdswiz05 and gdswzd05. make crot,sort,xlon,xlat,ylon,ylat and area optional arguments. make part of a module. move vector rotation, map jacobian and grid box area computations to separate subroutines. include option for elliptical earths.
2015-07-13 gayno convert to grib 2. replace grib 1 kgds array with grib 2 grid definition template array. rename routine.
2018-07-20 wesley add threading.
Parameters
[in]selfgrid
[in]ioptoption flag
  • 1 to compute earth coords of selected grid coords
  • -1 to compute grid coords of selected earth coords
[in]nptsmaximum number of coordinates
[in]fillfill value to set invalid output data (must be impossible value; suggested value: -9999.)
[in,out]xpts(npts) grid x point coordinates if iopt>0
[in,out]ypts(npts) grid y point coordinates if iopt>0
[in,out]rlon(npts) earth longitudes in degrees e if iopt<0 (acceptable range: -360. to 360.)
[in,out]rlat(npts) earth latitudes in degrees n if iopt<0 (acceptable range: -90. to 90.)
[out]nretnumber of valid points computed
[out]crotoptional (npts) clockwise vector rotation cosines
[out]srotoptional (npts) clockwise vector rotation sines (ugrid=crot*uearth-srot*vearth; vgrid=srot*uearth+crot*vearth)
[out]xlonoptional (npts) dx/dlon in 1/degrees
[out]xlatoptional (npts) dx/dlat in 1/degrees
[out]ylonoptional (npts) dy/dlon in 1/degrees
[out]ylatoptional (npts) dy/dlat in 1/degrees
[out]areaoptional (npts) area weights in m**2 (proportional to the square of the map factor)
Author
Iredell
Date
96-04-10

Definition at line 46 of file ip_polar_stereo_grid_mod.F90.

◆ init() [1/2]

generic ip_grid_mod::ip_grid::init
inherited

Init subprogram.

Returns
N/A

Definition at line 93 of file ip_grid_mod.F90.

◆ init() [2/2]

generic ip_grid_mod::ip_grid::init
inherited

Init subprogram.

Returns
N/A

Definition at line 93 of file ip_grid_mod.F90.

◆ init_grib1()

procedure ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib1 ( class(ip_polar_stereo_grid), intent(inout)  self,
type(grib1_descriptor), intent(in)  g1_desc 
)

Initializes a grid given a grib1_descriptor object.

Returns
N/A Initializes a polar stereographic grid given a grib1_descriptor object.
Parameters
[in,out]selfThe grid to initialize
[in]g1_descA grib1_descriptor
Author
Iredell
Date
96-04-10

Definition at line 39 of file ip_polar_stereo_grid_mod.F90.

◆ init_grib2()

procedure ip_polar_stereo_grid_mod::ip_polar_stereo_grid::init_grib2 ( class(ip_polar_stereo_grid), intent(inout)  self,
type(grib2_descriptor), intent(in)  g2_desc 
)

Initializes a grid given a grib2_descriptor object.

Returns
N/A Initializes a polar stereographic grid given a grib2_descriptor object.
Parameters
[in,out]selfThe grid to initialize
[in]g2_descA grib2_descriptor
Author
Iredell
Date
96-04-10

Definition at line 42 of file ip_polar_stereo_grid_mod.F90.

Field Documentation

◆ descriptor

class(ip_grid_descriptor), allocatable ip_grid_mod::ip_grid::descriptor
inherited

Descriptor.

Definition at line 59 of file ip_grid_mod.F90.

◆ dxs

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dxs

'x'-direction grid length, adjusted by the scanning mode.

Definition at line 29 of file ip_polar_stereo_grid_mod.F90.

◆ dys

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::dys

'y'-direction grid length, adjusted by the scanning mode.

Definition at line 30 of file ip_polar_stereo_grid_mod.F90.

◆ eccen_squared

real ip_grid_mod::ip_grid::eccen_squared
inherited

Eccentricity of the Earth squared (e^2).

Definition at line 78 of file ip_grid_mod.F90.

◆ elliptical

logical ip_polar_stereo_grid_mod::ip_polar_stereo_grid::elliptical

When true/false, computations are based on an elliptical/spherical earth.

Definition at line 24 of file ip_polar_stereo_grid_mod.F90.

◆ h

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::h

Hemisphere flag.

0 - NH; 1 - SH.

Definition at line 28 of file ip_polar_stereo_grid_mod.F90.

◆ im

integer ip_grid_mod::ip_grid::im
inherited

Number of x points.

Definition at line 61 of file ip_grid_mod.F90.

◆ irot

integer ip_polar_stereo_grid_mod::ip_polar_stereo_grid::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 35 of file ip_polar_stereo_grid_mod.F90.

◆ iwrap

integer ip_grid_mod::ip_grid::iwrap
inherited

x wraparound increment (0 if no wraparound).

Definition at line 74 of file ip_grid_mod.F90.

◆ jm

integer ip_grid_mod::ip_grid::jm
inherited

Number of y points.

Definition at line 62 of file ip_grid_mod.F90.

◆ jwrap1

integer ip_grid_mod::ip_grid::jwrap1
inherited

y wraparound lower pivot point (0 if no wraparound).

Definition at line 75 of file ip_grid_mod.F90.

◆ jwrap2

integer ip_grid_mod::ip_grid::jwrap2
inherited

y wraparound upper pivot point (0 if no wraparound).

Definition at line 76 of file ip_grid_mod.F90.

◆ kscan

integer ip_grid_mod::ip_grid::kscan
inherited

Mass/wind flag for staggered diagonal (0 if mass; 1 if wind).

Definition at line 70 of file ip_grid_mod.F90.

◆ nm

integer ip_grid_mod::ip_grid::nm
inherited

Total number of points.

Definition at line 63 of file ip_grid_mod.F90.

◆ nscan

integer ip_grid_mod::ip_grid::nscan
inherited
Parameters
Scanningmode.
  • 0 if x first then y;
  • 1 if y first then x;
  • 3 if staggered diagonal like projection 203.

Definition at line 69 of file ip_grid_mod.F90.

◆ nscan_field_pos

integer ip_grid_mod::ip_grid::nscan_field_pos
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.

◆ orient

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::orient

Orientation longitude.

Definition at line 27 of file ip_polar_stereo_grid_mod.F90.

◆ rerth

real ip_grid_mod::ip_grid::rerth
inherited

Radius of the Earth.

Definition at line 77 of file ip_grid_mod.F90.

◆ rlat1

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlat1

Latitude of the first grid point.

Definition at line 25 of file ip_polar_stereo_grid_mod.F90.

◆ rlon1

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::rlon1

Longitude of the first grid point.

Definition at line 26 of file ip_polar_stereo_grid_mod.F90.

◆ slatr

real ip_polar_stereo_grid_mod::ip_polar_stereo_grid::slatr

Standard latitude of grid in radians.

Definition at line 31 of file ip_polar_stereo_grid_mod.F90.


The documentation for this type was generated from the following file: