@BeginModule
@NewPage
@Name      = Vertintml
@Title     = Vertical interpolation
@Section   = Interpolation
@Class     = Interpolation
@Arguments = ifile ofile
@Operators = ml2pl ml2hl

@BeginDescription
Interpolate 3D variables on hybrid sigma pressure level to pressure or height levels.
The input file should contain the log. surface pressure or the surface pressure.
To interpolate the temperature, the surface geopotential is also needed.
The pressure, temperature, and surface geopotential are identified by their GRIB1 code number
or netCDF CF standard name.
Supported parameter tables are: WMO standard table number 2 and ECMWF local table number 128.
Use the alias  @bold{ml2plx}/@bold{ml2hlx} or the environment variable @env{EXTRAPOLATE}
to extrapolate missing values. This operator requires all variables on the same horizontal grid.

@EndDescription
@EndModule


@BeginOperator_ml2pl
@Title     = Model to pressure level interpolation
@Parameter = plevels

@BeginDescription
Interpolates 3D variables on hybrid sigma pressure level to pressure level.
@EndDescription
@EndOperator


@BeginOperator_ml2hl
@Title     = Model to height level interpolation
@Parameter = hlevels

@BeginDescription
Interpolates 3D variables on hybrid sigma pressure level to height level.
The procedure is the same as for the operator @oper{mh2pl} except for
the pressure levels being calculated from the heights by:
@math{plevel = 101325*exp(hlevel/-7000)}
@EndDescription
@EndOperator


@BeginParameter
@Item = plevels
FLOAT  Pressure levels in pascal
@Item = hlevels
FLOAT  Height levels in meter (max level: 65535 m)
@EndParameter


@BeginEnvironment
@Item = EXTRAPOLATE
If set to 1 extrapolate missing values.
@EndEnvironment


@BeginExample
To interpolate hybrid model level data to pressure levels of 925, 850, 500 and 200 hPa use:
@BeginVerbatim
   cdo ml2pl,92500,85000,50000,20000 ifile ofile
@EndVerbatim
@EndExample
