GEMPAK Manual
GRID DIAGNOSTIC FUNCTIONS
The following describes the computation of GEMPAK grid diagnostic
functions.
Each grid in a grid file is identified by a parameter name,
time, level, and vertical coordinate. A scalar grid is a
single grid, while a vector grid is composed of two grids
containing the u and v components.
The parameter name is used to retrieve a grid from the file, with
a few exceptions: Certain special parameters will be computed
from other data in the grid file if the parameter name itself is
not found in the grid file. These special scalar parameters are
TMPK DWPK TVRK MIXR* THTA* DRCT TMWK* THWK
TMPC DWPC TVRC SMXR STHA SPED TMWC THWC*
TMPF DWPF TVRF MIXS THTE* RELH TMWF THWF
THES* SMXS STHE
where * indicates names which also may be used as operators.
Mixing ratio will be computed automatically from dewpoint
temperature, specific humidity or vapor pressure, if a pressure
grid exists.
The stability indices will be computed automatically from
temperature, dewpoint temperature, and wind speed and direction.
These special scalar parameters are
CTOT VTOT TOTL KINX SWET
Haines Indices for fire weather detection will be computed
automatically from temperature and dewpoint at three different
levels. These scalar parameters are:
LHAN Low elevation Haines Index
MHAN Middle elevation Haines Index
HHAN High elevation Haines Index
The Heat Index, HEAT, will also be automatically computed from the
temperature and relative humidity.
In addition, precipitation will be converted from inches (I) to
millimeters (M) and vice versa, if the grids are named P__M or
P__I. The middle numeric characters give the time interval
over which the precipitaion accumulated. For example, P24M is
a 24-hour precipitation total.
The units for sea surface temperature (SST_), maximum temperature
(TMX_) and minimum temperature (TMN_) will be converted
automatically. The underscore may be K, C or F.
These special scalar parameter names denote constant value grids:
DTR Conversion factor for degrees to radians = PI / 180
E Base of natural logarithms = 2.71828182
GRAVTY Gravitational constant = 9.80616 (note spelling)
KAPPA Gas constant/specific heat = 2/7
PI 3.14159265
RTD Conversion factor for radians to degrees = 180 / PI
nnn Any number (i.e., 2, -10.2, ... )
Another class of special parameter names provides information at
grid points depending on the navigation of the grid file:
CORL Coriolis force
CORL = 2. * OMEGA * SIN ( LATR )
LATR Latitude in radians
LONR Longitude in radians
XVAL Value of the x coordinate in graph coordinates
YVAL Value of the y coordinate in graph coordinates
MSFX Map scale factor in the x direction
MSFY Map scale factor in the y direction
LAND Land array; land=1, sea=RMISSD
SEA Sea array; sea=1, land=RMISSD
Finally, scalar grids may be identified by their location within
the grid file. The grid number must be prefixed with the symbol
#. Note that grids may be renumbered as grids are added to or
deleted from the file.
Vector grids are two separate grids containing the u and v
components. Special vector parameter names may be used to identify
the following vectors:
WND Total wind
GEO* Geostrophic wind
AGE* Ageostrophic wind
ISAL* Isallobaric wind
THRM* Thermal wind
where * indicates names that also may be used as operators. Note
that all of these wind vectors will have u and v components in
meters per second. The total wind must be stored as UWND and
VWND in the grid file if the components are north relative and
as UREL and VREL if the components are grid relative.
Time, level, and vertical coordinate may be specified in GDATTIM,
GLEVEL and GVCORD. However, any of these values may be
overridden by in line parameters appended to an operand in the
form of ^time@level%ivcord. In-line parameters are only allowed
for operands, since they modify parameters for individual grids.
The in-line parameters may be entered individually or in
combinations in any order.
If more than one file is opened, +n may also be used as an
in-line parameter, where n is the number corresponding to the
position of the file name entered in GDFILE. If +n is omitted,
the first file is used.
Grid operators may be nested, allowing a complicated diagnostic
function to be computed. One limitation is that layer and
time range operators expect to work on operands read directly
from the grid file or computed from special names.
In the following list of diagnostic operators, scalar operands are
named Si and vector operands are Vi. Lower case u and v refer to
the grid relative components of a vector. All meteorological
output grids are in MKS units, except as noted. Operators using
PR_ functions are described in the GEMPAK PARAMETER APPENDIX.
All scalar and vector differential operators are valid in any map
projection for which the map scale factors can be computed. At
present, this applies for the stereographic, cylindrical and conic
projections available in GEMPAK. In the definitions below, only
the cartesian form of the operators is shown. The general
curvilinear coordinate forms involving the scale factors are not
given.
The operators which are designated for use in polar coordinates are
specific to that coordinate system.
SCALAR OUTPUT GRID
Algebraic and trignometric functions (angles are expressed in radians):
ABS Absolute value ABS (S)
ACOS Arc cosine function ACOS (S)
ASIN Arc sine function ASIN (S)
ATAN Arc tangent function ATAN (S)
ATN2 Arc tangent function ATN2 (S1, S2) = ATAN ( S1 / S2 )
COS Cosine function COS (S)
EXP Exponential to real EXP (S1, S2) = S1 ** S2
EXPI Exponential to integer EXP (S1, S2) = S1 ** NINT ( S2 )
INT Convert to an integer INT (S)
LN Natural logarithm LN (S) = LOG (S)
LOG Base 10 logarithm LOG (S) = LOG10 (S)
NINT Round to integer NINT (S)
SIN Sine function SIN (S)
SQRT Square root SQRT (S)
TAN Tangent function TAN (S)
ADD Addition ADD (S1, S2) = S1 + S2
MUL Multiplication MUL (S1, S2) = S1 * S2
QUO Division QUO (S1, S2) = S1 / S2
SUB Subtraction SUB (S1, S2) = S1 - S2
SLT Less than function SLT (S1, S2) = S1 < S2
SLE Less than/equal to SLE (S1, S2) = S1 <= S2
SGT Greater than function SGT (S1, S2) = S1 > S2
SGE Greater than/equal to SGE (S1, S2) = S1 >= S2
SBTW Between function SBTW (S1, S2, S3) = S1 > S2 AND S1 < S3
BOOL Boolean function BOOL (S)
MASK Masking function MASK (S1, S2) = RMISSD IF S2 = RMISSD
= S1 otherwise
ADV Advection
ADV ( S, V ) = - ( u * DDX (S) + v * DDY (S) )
AVG Average
AVG (S1, S2) = ( S1 + S2 ) / 2
AVOR Absolute vorticity
AVOR ( V ) = VOR ( V ) + CORL
BVSQ Brunt-Vaisala frequency squared in a layer
BVSQ ( THTA ) = [ GRAVTY * LDF (THTA) ] / [ LAV (THTA) * DZ ]
in PRES coordinates
= -( RDGAS / GRAVTY ) * LAV (THTA) *
( LAV (PRES) / 1000 ) ** KAPPA * LDF (PRES) /
LAV (PRES)
in THTA coordinates
DZ = change in height across the layer
CROS Vector cross product magnitude
CROS ( V1, V2 ) = u1 * v2 - u2 * v1
DDEN Density of dry air ( kg / m**3 )
DDEN ( PRES, TMPC ) = PR_DDEN ( PRES, TMPC )
DDR Partial derivative with respect to R
DDR ( S ) is computed using centered finite differences, with
backward or forward differences at the boundary.
Polar coordinates are assumed, and ( R, THETA ) maps
into ( X, Y ).
DDT Time derivative
DDT ( S ) = ( S (time1) - S (time2) ) / ( time1 - time2 )
where the time difference is in seconds.
DDX Partial derivative with respect to X
DDX ( S ) is computed using centered finite differences, with
backward or forward differences at the boundary.
DDY Partial derivative with respect to Y
DDX ( S ) is computed using centered finite differences, with
backward or forward differences at the boundary.
DEF Total deformation
DEF ( V ) = ( STR (V) ** 2 + SHR (V) ** 2 ) ** .5
DIRN North relative direction of a vector
DIRN ( V ) = PR_DRCT ( UN (V), VN (V) )
DIRR Grid relative direction of a vector
DIRR ( V ) = PR_DRCT ( u, v )
DIV Divergence
DIV ( V ) = DDX ( u ) + DDY ( v )
DOT Vector dot product
DOT ( V1, V2 ) = u1 * u2 + v1 * v2
DTH Partial derivative with respect to THETA
DTH ( S ) is computed using centered finite differences, with
backward or forward differences at the boundary.
Polar coordinates are assumed, and ( R, THETA ) maps
into ( X, Y ).
FCNT Coriolis force at the center of a polar coordinate grid
FCNT ( S ) can be computed only for lat/lon grids which have
been mapped to polar (R,THETA) coordinates and
for which the center lat/lon have been stored
with each grid.
FOSB Fosberg index, also called Fire Weather Index.
FOSB ( TMPC, RELH, SPED ) is computed with an empirical formula
using surface temperature, relative humidity, and wind
speed at the 2 meter or 10 meter level, or the mix of
the two. High values indicate high flame lengths and
rapid drying.
FRNT Frontogenesis ( K / 100 km / 3 h )
FRNT ( THTA, V ) = 1/2 * CONV * MAG ( GRAD (THTA) ) *
( DEF * COS (2 * BETA) - DIV )
CONV = unit conversion factor
= 1.08E4 * 1.E5
BETA = ASIN ( ( - COS (DELTA) * DDX (THTA) -
SIN (DELTA) * DDY (THTA) /
MAG ( GRAD (THTA) ) )
DELTA = 1/2 ATAN ( SHR / STR )
GWFS Horizontal smoothing using normally distributed weights
GWFS (S,N) with theoretical response of 1/e for N * delta-x wave.
Increasing N increases the smoothing.
HIGH Relative maxima over a grid
HIGH ( S, RADIUS ) where RADIUS defines a square region of grid
points. The region is a moving search area in which all points
are compared to derive a relative maximum.
JCBN Jacobian determinant
JCBN ( S1, S2 ) = DDX (S1) * DDY (S2) - DDY (S1) * DDX (S2)
KNTS Convert meters / second to knots
KNTS ( S ) = PR_MSKN (S) = S * 1.9438
LAP Laplacian operator
LAP ( S ) = DIV ( GRAD (S) )
LAV Layer average (2 levels)
LAV ( S ) = ( S (level1) + S (level2) ) / 2.
LDF Layer difference (2 levels)
LDF ( S ) = S (level1) - S (level2)
LOWS Relative minima over a grid
LOWS ( S, RADIUS ) where RADIUS defines a square region of grid
points. The region is a moving search area in which all points
are compared to derive a relative minimum.
MAG Magnitude of a vector
MAG ( V ) = PR_SPED ( u, v )
MASS Mass per unit volume in a layer
MASS = 100 * LDF (PRES) / ( GRAVTY * (level1 - level2) )
The 100 converts mb to Pascals. Level1 and level2
are also converted to Pascals when VCOORD = PRES. The
volume is expressed in units of m * m * (units of the
vertical coordinate). This is an operand.
MDIV Layer-average mass divergence
MDIV ( V ) = DIV ( [ MASS * LAV (u), MASS * LAV (v) ] )
MIXR Mixing ratio
MIXR ( DWPC, PRES ) = PR_MIXR ( DWPC, PRES )
The units are kg/kg internally, but g/kg
on output.
MRAD Magnitude of storm relative radial wind
MRAD ( V, LAT, LON, DIR, SPD ) = DOT ( Vrel, R )
where Vrel is the velocity minus the storm motion vector
specified by DIR and SPD, and R is a unit vector
tangent to a great circle arc from the storm center
specified by LAT, LON to a grid point.
MSDV Layer-average mass-scalar flux divergence
MSDV ( S, V ) = DIV ( [ MASS * LAV (S) * LAV (u),
MASS * LAV (S) * LAV (v) ] )
Note: MASS is computed using the in-line
parameter values for V rather than those
for S.
MSFC Psuedo angular momentum (for cross sections)
MSFC ( V ) = NORMV ( V ) + CORL * DIST
DIST is the distance along the cross section
in meters. The units for the M-surface are
expressed in m/s.
MTNG Magnitude of storm relative tangential wind
MTNG ( V, LAT, LON, DIR, SPD ) = DOT ( Vrel, k X R )
where Vrel is the velocity minus the storm motion vector
specified by DIR and SPD, and R is a unit vector
tangent to a great circle arc from the storm center
specified by LAT, LON to a grid point. k denotes the
local vertical unit vector.
NORM Scalar vector component normal to a cross section
NORM ( V ) = DOT ( V, unit normal vector )
If the starting point for the cross section is
on the left, the unit normal vector points
into the cross section plane.
NMAX Neighborhood maximum value for a radius of influence
NMAX ( S, ROI ). ROI is expressed in meters.
Note: Masking could be used [e.g., SGT(S1,S2)] to subset
and filter the scalar grid (S) beforehand to allow for faster
processing.
Warning: The radius of influence should be chosen wisely
on a high resolution grid where high computational costs could
result. Any negative ROI will be set to zero (i.e. at the grid
point) and half the distance in the X direction will serve as the
upper limit.
NMIN Neighborhood minimum value for a radius of influence
NMIN ( S, ROI ). ROI is expressed in meters.
Note: Masking could be used [e.g., SGT(S1,S2)] to subset
and filter the scalar grid (S) beforehand to allow for faster
processing.
Warning: The radius of influence should be chosen wisely
on a high resolution grid where high computational costs could
result. Any negative ROI will be set to zero (i.e. at the grid
point) and half the distance in the X direction will serve as the
upper limit.
PLAT Latitude at each point in polar coordinates
PLAT ( S ) Note: only the header, which contains the center
latitude and longitude, is used.
PLCL Pressure of the lifting condesation level
PLCL ( PRES, TMPC, DWPC ) = PR_PLCL ( TMPC, PRES, TLCL )
Note: The temperature of the LCL must be calculated as
an intermidiate quantity.
PLON Longitude at each point in polar coordinates
PLON ( S ) Note: only the header, which contains the center
latitude and longitude, is used.
POIS Solve Poisson eqn. of a forcing function with the given boundary values
POIS ( S1, S2 ) where S1 is the forcing function grid and
S2 is the boundary value.
The equation LAP (POIS) = S1 is solved for POIS.
POLF Coriolis force at each point in polar coordinates
POLF ( S ) Note: only the header, which contains the center
latitude and longitude, is used.
PVOR Potential vorticity in a layer
PVOR ( S, V ) = - GRAVTY * AVOR ( VLAV (V) ) * LDF ( THTA ) /
( 100 * LDF ( PRES ) )
The 100 converts millibars to Pascals.
Units are Kelvins / meters / Pascals / seconds**3
(note that GRAVTY is included). PVOR works on a layer
in PRES or THTA coordinates. In isobaric coordinates,
the scalar operand, S, is THTA, THTE, or THES. In
isentropic coordinates, the scalar operand, S, is
PRES. Multiplying by 10**6 gives standard PV units.
PVR3 3-D Potential vorticity for a level
PVR3 ( S, V ) = - CONSTANT * 3D-VOR ( V ) * 3D-GRAD ( S )
Units are Kelvins / meters / Pascals / seconds**3
PVR3 works on a level in PRES or HGHT coordinates.
The constant used is GRAVTY in PRES and is inversly
related to DDEN (density) in HGHT. The scalar
operand, S, is THTA, THTE, THWK, or THES. The
vector, V, has to be GEO or WND. Multiplying
by 10**6 gives standard PV units.
RELH Relative humidity
RELH ( TEMP, DWPT ) = PR_RELH ( TEMP, DWPT )
RICH Richardson stability number in a layer
RICH ( V ) = GRAVTY * DZ * LDF (THTA) /
( LAV (THTA) * MAG ( VLDF (V) ) ** 2 )
Note: DZ = change in height across the layer.
RICH can be evaluated in PRES, THTA or HGHT
vertical coordinate.
ROSS Rossby number
ROSS ( V1, V2 ) = MAG ( INAD ( V1, V2 ) ) / ( CORL * MAG ( V1 ) )
SAVG Average over whole grid
SAVG ( S ) = average of all non-missing grid point values
SAVS Average over subset grid
SAVS ( S ) = average of all non-missing grid point values in
the subset area
SDIV Flux divergence of a scalar
SDIV ( S, V ) = S * DIV ( V ) + DOT ( V, GRAD ( S ) )
SHR Shear deformation
SHR ( V ) = DDX ( v ) + DDY ( u )
SM5S Smooth scalar grid using a 5-point smoother
SM5S ( S ) = .5 * S (i,j) + .125 * ( S (i+1,j) + S (i,j+1) +
S (i-1,j) + S (i,j-1) )
SM9S Smooth scalar grid using a 9-point smoother
SM5S ( S ) = .25 * S (i,j) + .125 * ( S (i+1,j) + S (i,j+1) +
S (i-1,j) + S (i,j-1) )
+ .0625 * ( S (i+1,j+1) +
S (i+1,j-1) +
S (i-1,j+1) +
S (i-1,j-1) )
STAB Thermodynamic stability within a layer (lapse rate)
STAB ( TMPC ) = LDF ( TMPC ) / DZ
in PRES coordinates.
= - ( RDGAS / GRAVTY ) * LAV (THTA) *
( LAV (PRES) / 1000 ) ** KAPPA *
LDF (PRES) / LAV (PRES)
in THTA coordinates
DZ = change in height across the layer.
Units are degrees / kilometer.
STR Stretching deformation
STR ( V ) = DDX ( u ) - DDY ( v )
TANG Scalar vector component tangential to a cross section
TANG ( V ) = DOT ( V, unit tangent vector )
If the starting point for the cross section is
on the left, the unit tangent vector points to
the right.
TAV Time average (2 times)
TAV (S) = ( S (time1) + S (time2) ) / 2.
TDF Time difference (2 times)
TDF (S) = S (time1) - S (time2)
THES Saturated equivalent potential temperature in Kelvin
THES (PRES, TMPC) = PR_THTE (PRES, TMPC, TMPC)
THTA Potential temperature in Kelvin
THTA ( TMPC, PRES ) = PR_THTA ( TMPC, PRES )
THTE Equivalent potential temperature in Kelvin
THTE (PRES, TMPC, DWPC) = PR_THTE (PRES, TMPC, DWPC)
THWC Wet bulb potential temperature in Celsius
THWC (PRES, TMPC, DWPC) = PR_THWC (PRES, TMPC, DWPC)
TLCL Temperature of the lifitng condensation level
TLCL ( TMPC,DWPC ) = PR_TLCL ( TMPC, DWPC )
TMST Parcel temperature in Kelvin along a moist adiabat
TMST (THTE, PRES) = PR_TMST (THTE, PRES, GUESS)
where THTE is the equivalent potential
temperature at the input GLEVEL,
PRES is the pressure level at which
the parcel temperature is valid, and GUESS
is a guess-field calculated automatically.
TMWK Wet bulb temperature in Kelvin
TMWK (PRES, TMPK, RMIX) = PR_TMWK (PRES, TMPK, RMIX)
UN North relative u component
UN ( V ) = zonal wind component
UR Grid relative u component
UR ( V ) = u
VN North relative v component
VN ( V ) = meridional wind component
VOR Vorticity
VOR ( V ) = DDX ( v ) - DDY ( u )
VR Grid relative v component
VR ( V ) = v
WNDX WINDEX (index for microburst potential)
WNDX (S1, S2, S3, S4) = 2.5 * SQRT (HGHTF * RATIO * (GAMMA**2 -
30 + MIXRS - 2 * MIXRF ) )
TMPCS = surface temperature = S1
HGHTF = AGL Height of Freezing level = S2
MIXRS = surface mixing ratio = S3
MIXRF = freezing level mixing ratio = S4
RATIO = MIXRS / 12 if MIXRS < 12, = 1 otherwise
GAMMA = TMPCS / HGHTF
WSHR Magnitude of the vertical wind shear in a layer
WSHR ( V ) = MAG [ VLDF (V) ] / DZ
in PRES coordinates.
= - ( RDGAS / GRAVTY ) * LAV (THTA) *
( LAV (PRES) / 1000 ) ** KAPPA *
LDF (PRES) / LAV (PRES)
in THTA coordinates.
DZ = change in height across the layer
WSHR can be evaluated in PRES, THTA, or HGHT coordinate.
XAV Average along a grid row
XAV (S) = ( S (X1) + S (X2) + ... + S (KXD) ) / KNT
KXD = number of points in row
KNT = number of non-missing points in row
XAV for a row is stored at every point in that row.
In polar coord., XAV is the average along a radial.
XSUM Sum along a grid row
XSUM (S) = ( S (X1) + S (X2) + ... + S (KXD) )
KXD = number of points in row
XSUM for a row is stored at every point in that row.
In polar coord., XSUM is the sum along a radial.
YAV Average value along a grid column
YAV (S) = ( S (Y1) + S (Y2) + ... + S (KYD) ) / KNT
KYD = number of points in column
KNT = number of non-missing points in column
YAV for a column is stored at every point in that
column. For polar coordinates, YAV is the average
around a circle. If the theta coordinate starts at
0 degrees and ends at 360 degrees, the first radial
is not used in computing the average.
YSUM Sum along a grid column
YSUM (S) = ( S (Y1) + S (Y2) + ... + S (KYD) )
KYD = number of points in column
YSUM for a column is stored at every point in that
column. For polar coordinates, YSUM is the sum
around a circle. If the theta coordinate starts at
0 degrees and ends at 360 degrees, the first radial
is not used in computing the sum.
VECTOR OUTPUT GRID
AGE Ageostrophic wind
AGE ( S ) = [ u (OBS) - u (GEO(S)), v (OBS) - v (GEO(S)) ]
CIRC Circulation (for cross sections)
CIRC ( V, S ) = [ TANG (V), S ]
DVDX Partial x derivative of a vector
DVDX ( V ) = [ DDX (u), DDX (v) ]
DVDY Partial y derivative of a vector
DVDY ( V ) = [ DDY (u), DDY (v) ]
GEO Geostrophic wind
GEO ( S ) = [ - DDY (S) * const / CORL, DDX (S) * const /
CORL ]
const S vert coord
------ ---- -----------
GRAVTY ZMSL none
GRAVTY HGHT PRES
1 PSYM THTA
100/RO PRES HGHT
------ ---- -----------
RO = PR_DDEN ( PRES, TMPC )
GRAD Gradient of a scalar
GRAD ( S ) = [ DDX ( S ), DDY ( S ) ]
GWFV Horizontal smoothing using normally distributed weights
GWFV (V,N) with theoretical response of 1/e for N * delta-x
wave. Increasing N increases the smoothing.
INAD Inertial advective wind
INAD ( V1, V2 ) = [ DOT ( V1, GRAD (u2) ),
DOT ( V1, GRAD (v2) ) ]
ISAL Isallobaric wind
ISAL ( S ) = [ - DDT ( v (GEO(S)) ) / CORL,
DDT ( u (GEO(S)) ) / CORL ]
KCRS Unit vector k cross a vector
KCRS ( V ) = [ -v, u ]
KNTV Convert meters / second to knots
KNTV ( V ) = [ PR_MSKN (u), PR_MSKN (v) ]
LTRN Layer-averaged transport of a scalar
LTRN ( S, V ) = [ MASS * LAV (S) * LAV (u),
MASS * LAV (S) * LAV (v) ]
Note: MASS is computed using the in-line parameter values
for V rather than those for S.
NORMV Vector component normal to a cross section.
NORMV ( V ) = NORM ( V ) * unit normal vector
QVEC Q-vector at a level ( K / m / s )
QVEC ( S, V ) = [ - ( DOT ( DVDX (V), GRAD (S) ) ),
- ( DOT ( DVDY (V), GRAD (S) ) ) ]
where S can be any thermal paramenter, usually THTA.
QVCL Q-vector of a layer ( mb / m / s )
QVCL ( THTA, V ) = ( 1/( D (THTA) / DP ) ) *
[ ( DOT ( DVDX (V), GRAD (THTA) ) ),
( DOT ( DVDY (V), GRAD (THTA) ) ) ]
RAD Storm relative radial wind
RAD ( V, LAT, LON, DIR, SPD ) = SMUL ( DOT ( Vrel, R ), R )
where Vrel is the velocity minus the storm motion
specified by DIR and SPD, and R is a unit vector
tangent to a great circle arc from the storm center
specified by LAT, LON to a grid point.
ROT Coordinate rotation
ROT ( angle, V ) = [ u * COS (angle) + v * SIN (angle),
-u * SIN (angle) + v * COS (angle) ]
SMUL Multiply a scalar with each component of a vector
SMUL ( S, V ) = [ S * u, S * v ]
SM5V Smooth vector grid using a 5-point smoother
SM5V ( V ) = .5 * V (i,j) + .125 * ( V (i+1,j) + V (i,j+1) +
V (i-1,j) + V (i,j-1) )
SQUO Vector division by a scalar.
SQUO ( S, V ) = [ u / s, v / s ]
TANGV Vector component tangential to a cross section.
TANGV ( V ) = TANG ( V ) * unit tangent vector
THRM Thermal wind
THRM ( S ) = [ u (GEO(S)) (level1) - u (GEO(S)) (level2),
v (GEO(S)) (level1) - v (GEO(S)) (level2) ]
TNG Storm relative tangential wind
TNG ( V, LAT, LON, DIR, SPD ) = SMUL ( DOT ( Vrel, k X R ),
k X R )
where Vrel is the velocity minus the storm
motion vector specified by DIR and SPD, and R is a
unit vector tangent to a great circle arc from the
storm center specified by LAT, LON to a grid point.
k denotes the local vertical unit vector.
VADD Add the components of two vectors
VADD ( V1, V2 ) = [ u1+u2, v1+v2 ]
VASV Vector component of V1 along V2
VASV ( V1, V2 ) = [ DOT (V1,V2) / MAG (V2) ** 2 ] * V2
VAVG Average over whole grid
VAVG ( V ) = average of all non-missing grid point values
VAVS Average over subset grid
VAVS ( V ) = average of all non-missing grid point values in
the subset area
VECN Create a vector grid from two north relative scalar components
VECN ( S1, S2 ) = [ S1, S2 ]
VECR Create a vector grid from two grid relative scalar components
VECR ( S1, S2 ) = [ S1, S2 ]
VLAV Layer average for a vector
VLAV ( V ) = [ ( u (level1) + u (level2) ) / 2.,
( v (level1) + v (level2) ) / 2. ]
VLDF Layer difference for a vector
VLDF ( V ) = [ u (level1) - u (level1),
v (level1) - v (level2) ]
VMUL Multiply the components of two vectors
VMUL ( V1, V2 ) = [ u1*u2, v1*v2 ]
VQUO Divide the components of two vectors
VQUO ( V1, V2 ) = [ u1/u2, v1/v2 ]
VSUB Subtract the components of two vectors
VSUB ( V1, V2 ) = [ u1-u2, v1-v2 ]
VLT Less than function
VLT (V, S) = V IF |V| < S
VLE Less than or equal to function
VLE (V, S) = V IF |V| <= S
VGT Greater than function
VGT (V, S) = V IF |V| > S
VGE Greater than or equal to function
VGE (V, S) = V IF |V| >= S
VBTW Between function
VBTW (V, S1, S2) = V IF S1 < |V| < S2
VMSK Masking function
VMSK (V, S) = RMISSD IF S = RMISSD
= V otherwise