Vertint 2.97 KB
Newer Older
Uwe Schulzweida's avatar
Uwe Schulzweida committed
1
2
3
4
5
6
7
8
9
10
@BeginModule
@NewPage
@Name      = Intvert
@Title     = Vertical interpolation
@Section   = Interpolation
@Class     = Interpolation
@Arguments = ifile ofile
@Operators = ml2pl ml2hl

@BeginDescription
Uwe Schulzweida's avatar
Uwe Schulzweida committed
11
12
Interpolate 3D variables on hybrid model levels to pressure or height levels.
The input file should contain the log. surface pressure or the surface pressure.
Uwe Schulzweida's avatar
Uwe Schulzweida committed
13
14
15
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.
16
Supported parameter tables are: WMO standard table number 2 and ECMWF local table number 128.
Uwe Schulzweida's avatar
Uwe Schulzweida committed
17
Use the alias  @bold{ml2plx}/@bold{ml2hlx} or the environment variable @env{EXTRAPOLATE}
Uwe Schulzweida's avatar
Uwe Schulzweida committed
18
to extrapolate missing values. All input fields have to be on the same horizontal grid.
Uwe Schulzweida's avatar
Uwe Schulzweida committed
19
20
21
22
23
24
25
26
27
@EndDescription
@EndModule


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

@BeginDescription
Uwe Schulzweida's avatar
Uwe Schulzweida committed
28
Interpolates 3D variables on hybrid model levels to pressure levels.
Uwe Schulzweida's avatar
Uwe Schulzweida committed
29
30
31
32
33
34
35
36
37
@EndDescription
@EndOperator


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

@BeginDescription
Uwe Schulzweida's avatar
Uwe Schulzweida committed
38
39
40
Interpolates 3D variables on hybrid model levels to height levels.
The procedure is the same as for the operator @oper{mh2pl} except for
the pressure levels being calculated from the heights by:
Uwe Schulzweida's avatar
Uwe Schulzweida committed
41
@math{plevel = 101325*exp(hlevel/-7000)}
Uwe Schulzweida's avatar
Uwe Schulzweida committed
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@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


Uwe Schulzweida's avatar
Uwe Schulzweida committed
60
@BeginNote
Uwe Schulzweida's avatar
Uwe Schulzweida committed
61
The netCDF CF convention for vertical hybrid coordinates is not supported, yet!
Uwe Schulzweida's avatar
Uwe Schulzweida committed
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
The vertical coordinate definition of a netCDF file has to follow the ECHAM convention.
This means:
@BeginItemize
@Item = the dimension of the full level coordinate and the corresponding variable is called mlev,
@Item = the dimension of the half level coordinate and the corresponding variable is called ilev (ilev must have one element more than mlev)
@Item = the hybrid vertical coefficient a is given in units of Pa and called hyai (hyam for level midpoints)
@Item = the hybrid vertical coefficient b is given in units of 1 and called hybi (hybm for level midpoints)
@Item = the mlev variable has a borders attribute containing the character string 'ilev'
@EndItemize

Use the @mod{sinfo} command to test if your vertical coordinate system is recognized as hybrid system.

In case this operator complains about not finding any data on hybrid model levels you may wish
to use the @mod{setzaxis} command to generate a zaxis description which conforms to the ECHAM convention.
See section "1.4 Z-axis description" for an example how to define a hybrid Z-axis.
Uwe Schulzweida's avatar
Uwe Schulzweida committed
77
78
79
@EndNote


Uwe Schulzweida's avatar
Uwe Schulzweida committed
80
@BeginExample
Uwe Schulzweida's avatar
Uwe Schulzweida committed
81
To interpolate hybrid model level data to pressure levels of 925, 850, 500 and 200 hPa use:
Uwe Schulzweida's avatar
Uwe Schulzweida committed
82
83
84
85
@BeginVerbatim
   cdo ml2pl,92500,85000,50000,20000 ifile ofile
@EndVerbatim
@EndExample