`vint(`

*psexpr,expr,top*)

This function performs a mass-weighted vertical integral in mb pressure coordinates. The three arguments to `vint`

are:

a GrADS expression for the
surface pressure, in mb, which bounds the integral on
the bottom. *psexpr*

a GrADS expression
representing the quantity to be integrated.*expr*

the bounding top pressure, in mb. This value must be a constant and cannot be
provided as an expression. *top*

The calculation is a sum of the mass-weighted layers:

`f/g * sum(expr * Delta(level))`

The bounds of the integration are the surface pressure and the
indicated

value. The scale factors are f=100
and g=9.8. The summation is done for each layer present that is
between the bounds. The layers are determined by the Z levels of the
default file. Each layer is considered to be from the midpoints
between the levels actually present, and is assumed to have the same
value throughout the layer, namely the value of the gridpoint at the
middle of the layer.
*top*

- The summation is done using the Z levels from the default file, so
it is important that the default file have the same Z dimension
coordinates as

.*expr* - Data levels below and above the bounds of the summation are ignored.
- The Z dimension in world-coordinate units is assumed to be pressure values given in millibars (mb). The units of g are such that when the expression integrated is specific humidity (q) in units of g/g, the result is kg of water per square meter, or precipitable water in mm.
- It is usually a good idea to make the

pressure value to be at the top of a layer, which is midway between grid points. For example, if the default file (and the data) have pressure levels of ...,500,400,300,250,... then a good value for*top*

might be 275, the value at the top of the layer that extends from 350 to 275 mb.*top* - The
`vint`

function operates only in an X-Y varying dimension environment. - Be sure the units of the surface pressure (argument 1) are in millibars (mb).

1. This expression will integrate specific humidity to obtain precipitable water, in mm:

`vint(ps,q,275)`

2. This is an artificial example that demonstrates a vertical integration from a fixed lower bound of 1000mb to the top of the atmosphere, and integrating a field of all 1's. This gives an answer of 10204.1 (or 100000/9.8) which is the mass of air (in kg) of a 1 meter squared column when the surface pressure is 1 bar and the accelleration due to gravity is assumed to be exactly 9.8m/sec**2 over the entire column.

`vint(const(ps,1000),const(t,1),0)`