:cressman

Performs a cressman objective analysis to create gridded data from station data

longitude latitude data [ IWMO ... ] cressman: :cressman

Arguments
labeltypedescription
longitude variable longitude coordinates for stations used in the analysis
latitude variable latitude coordinates for stations used in the analysis
data variable data values at the stations
IWMO grid set station ids
Returns
griddeddata variable returned gridded data

Detailed Syntax

longitudes
latitudes
data
[IWMO] cressman:
n minstns
X xmin xmax xstep RANGEEDGESTEP
Y ymin ymax ystep RANGEEDGESTEP
n1 pass1
n2 pass2
n3 pass3
:cressman

Input

longitudes is a stream of longitude coordinates for stations used in the analysis
latitudes is a stream of latitude coordinates for stations used in the analysis
data is a stream of data values at the stations
IWMO is the name of the grid of station identifiers

Parameters

n minstns : n is the number of station data points that must be included within the influence radius of a gridpoint for an analysis value to be calculated for that gridpoint. The default value is 3.

X xmin xmax xstep RANGEEDGESTEP : specification of the east-west domain of the analysis to be produced, in terms of minimum and maximum longitude values and the grid step, in degrees. The default values for xmin, xmax, and xstep are -180., 180., and 2., respectively.

Y ymin ymax ystep RANGEEDGESTEP : specification of the north-south domain of the analysis to be produced, in terms of minimum and maximum latitude values and the grid step, in degrees. The default values for ymin, ymax, and ystep are -90., 90., and 2., respectively.

n1 pass1, n2 pass2, n3 pass3 : n1, n2, and n3 are the factors by which the average minimum station separation distance (calculated within the routine) is multiplied on each pass of the cressman scheme (3 passes are automatically done), to establish the influence radius for each pass. The default values for the first, second, and third passes are 4, 2.5, and 1.5, respectively.

Description

cressman performs a Cressman (1959) objective analysis of input station data onto a user-defined latitude-longitude grid. A three-pass successive correction scheme is used here, allowing for the influence radius to be tightened on each pass. The influence radius (R) for each pass is calculated as the product of a user-defined constant and the average distance between each station and its nearest neighboring station. On each pass of the analysis, for each gridpoint in the analysis domain, an isotropic distance-based weight is calculated for each station within the influence radius of the gridpoint. This weight is calculated as follows: W = (R2 - r2)/(R2 + r2) where R = influence radius and r = station-to-gridpoint distance. Distances are calculated along a great circle path. The weighting function is illustrated in the following graph:

Image of 
    cressman weighting function

The analysis value on the third and final pass at each gridpoint is calculated as:

Z3 = Z2 + sum[W*(zoj - zbj)]/sum[W]

where Z2 is the value of the analysis on the previous pass, W is the distance-based weight for each station within the influence radius of the gridpoint, zoj is the observed value at station j, zbj is the background value at the station location j calculated via bilinear interpolation from the analysis on the previous pass, and the sums are calculated over the number of stations within the influence radius of each gridpoint.

If the minimum station number requirement specified in the minstns parameter is not met or exceeded, a missing value will be assigned to the gridpoint. This allows the user to restrict the region to which valid analysis values are assigned based upon a simple measure of station density.

References

Cressman, G. P., 1959: An operational objective analysis system. Mon. Wea. Rev., 87, 367-374.

Example

SOURCES .NOAA .NCEP .CPC .CAMS .station .temperature
lon lat temp [IWMO] cressman:
3 minstns
X -180. 180. 2. RANGEEDGESTEP
Y -90. 90. 2. RANGEEDGESTEP
4. pass1
2.5 pass2
1.5 pass3
:cressman

Live Example Link


See also

Independent Variable Creation: classify grouptogrid invertontogrid shiftdata shiftdatashort toS :weaver
Objective Analysis: :weaver