Given an array whose gradient is a vector function, compute its scalar function via Spherepack.

## Synopsis

```    procedure igradsf(
gzx : float,
gzy : float,
z   : float
)

gzx : float,
gzy : float
z   : float
)
```

## Arguments

gzx, gzy
gradient arrays (input, two or more dimensions, last two dimensions must be nlat x nlon and input values must be in ascending latitude order).
z
scalar array (output, same dimensions as gzx, gzy, values will be in ascending latitude order)

## Description

igradsf and igradsg both compute a scalar function given gradient gzx and gzy and return it in the array z. igradsf operates on an equal (fixed) grid, and igradsg operates on a Gaussian grid.

Note: For the arrays whose last two dimensions are nlat x nlon, the rest of the dimensions (if any) are collectively referred to as nt. If the input/output arrays are just two dimensions, then nt can either be considered equal to 1 or nothing at all.

Arrays which have dimensions nt 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
```

## Error messages

If jer or ker is equal to:
1 : error in the specification of nlat
2 : error in the specification of nlon
4 : error in the specification of nt (jer only)

### Reference Manual Control Panel

\$Revision: 1.9 \$ \$Date: 1999/02/23 15:59:24 \$