Grid-to-grid procedures for vector quantities using Spherepack routines.

procedure f2fshv( ua : float, va : float, ub : float, vb : float ) procedure g2fshv( ua : float, va : float, ub : float, vb : float ) procedure f2gshv( ua : float, va : float, ub : float, vb : float, twave[1] : integer ) procedure g2gshv( ua : float, va : float, ub : float, vb : float, twave[1] : integer ) procedure fo2fshv( uoff : float, voff : float, ureg : float, vreg : float ) procedure f2foshv( ureg : float, vreg : float, uoff : float, voff : float )

*ua, va*- vector arrays (input) of 2 or more dimensions (last two dimensions
must be
*nlata*x*nlona*and values must be in ascending latitude order) *ub, vb*- vector arrays (output) of 2 or more dimensions (last two dimensions must be
*nlatb*x*nlonb*, values will be in ascending latitude order) *uoff, voff*- vector arrays (input or output depending on procedure) of 2 or
more dimensions (last two dimensions must be
*jlat*x*ilon*, values must/will be in ascending latitude order) *ureg, vreg*- vector arrays (input or output depending on procedure) of 2 or
more dimensions (last two dimensions must be
*jlat1*x*ilon*, where*jlat1*is*jlat*+1, values must/will be in ascending latitude order) *twave*- scalar integer (input) indicating the optional wave truncation:
*twave*= 0 => exact interpolation

*twave*> 0 => exact interpolation and triangular truncation at*twave*

*twave*< 0 => exact interpolation, triangular truncation at*twave*and spectral coefficient tapering (the effect is to smooth the data)

(-90 ,0), (-90, 2.5),..., (-90, 357.5) (-87.5,0), (-87.5,2.5),..., (-87.5,357.5) . (0,0), (0,2.5), (0,5.0),..., (0,357.5) (2.5,0),(2.5,2.5),..., (2.5,357.5)For a 2.5 degree fixed/regular grid there are 73 latitude points and 144 longitude points. Both pole points are present.

Fixed offset grids are grids 'offset' from Grenwich meridian and equator. For example, a 2.5 x 2.5 degree fixed-offset grid has values at:

(-88.75,1.25), (-88.75,3.75),..., (-88.75,357.5)For a 2.5 degree fixed-offset grid there are 72 latitude points and 144 longitude points. There are no pole points.

.

(1.25,1.25), (1.25,3.75),...,(1.25,358.75)

(3,75,1.25), (3.75,3.75),...,(3.75,358.75)

`g2gshv` interpolates a vector pair from one Gaussian grid
(ua,va) to another (ub,vb) (optional truncation) using spherical
harmonics. The output array dimensions must be the same as the input
array dimensions, except *nlata* and *nlona* are replaced by
*nlatb* and *nlonb*.

`g2fshv` interpolates a vector pair on a Gaussian grid (ua,va)
to a fixed grid (ub,va) using spherical harmonics. The output array
dimensions must be the same as the input array dimensions, except
*nlata* and *nlona* are replaced by *nlatb* and
*nlonb*.

`f2gshv` interpolates a vector pair on a fixed grid (ua,va) to
a Gaussian grid (ub,vb) (optional truncation) using spherical
harmonics. The output array dimensions must be the same as the input
array dimensions, except *nlata* and *nlona* are replaced by
*nlatb* and *nlonb*.

`f2fshv` interpolates a vector pair from one fixed grid (ua,va)
to another (ub,vb) using spherical harmonics. The output array
dimensions must be the same as the input array dimensions, except
*nlata* and *nlona* are replaced by *nlatb* and
*nlonb*.

`fo2fshv` interpolates a vector pair on a fixed-offset grid
(uoff,voff) (including pole points) to a fixed grid (ureg,vreg) using
spherical harmonics. The output array dimensions must be the same as
the input array dimensions, except *jlat* is replaced by
*jlat*+1. For example, a 5 degree fixed-offset grid would have
dimensions nlata=36, nlona=72, and the return fixed grid would have
dimensions nlatb=37, nlonb=72.

`f2foshv` interpolates a vector pair on a fixed grid
(ureg,vreg) (including pole points) to a fixed-offset grid (uoff,voff)
using spherical harmonics. The output array dimensions must be the
same as the input array dimensions, except *jlat1* is replaced by
*jlat1*-1. For example, a 5 degree fixed grid would have
dimensions nlata=37, nlona=72, and the return fixed-offset grid would
have dimensions nlatb=36, nlonb=72.

Arrays which have dimensions [...] x *nlat* x *nlon* should
**not** include the cyclic (wraparound) points when invoking the
procedures and functions which use spherical harmonics
(Spherepack).

For example, if an array *x* has dimensions *nlat* = 64 and
*nlon* = 129, where the "129" represents the cyclic points, then
the user should pass the data to the procedure/function via:

z = sample ( x([...] :,0:nlon-2) ) ; does not include cyclic points

4 or 10 ifnlona(ilon) is less than 4

5 or 10 ifnlata(jlat) is less than 3

8 ifnlonbis less than 4

9 ifnlatbis less than 3

NG4.1 Home, Index, Examples, Glossary, Feedback, Ref Contents, Ref WhereAmI?