Recent developments in postprocessing
Laura Rontu and Carl Fortelius, FMI
Derivation of new variables and interpolation of data for different
purposes is possible using HIRLAM model level data written into GRIB
files. Probably the most universal and economic way is to do this
postprocessing afterwards, outside the model runs. It should also be
possible, e.g. when running HIRLAM experiments, to do postprocessing
during the forecast run itself. Traditionally this is done when
interpolating model output to pressure levels. A most important thing
is, that postprocessing code remains an integral part of the HIRLAM
system.
-
Derived variables involving derivatives or non-linear terms, such as
isentropic potential vorticity or vorticity advection, may be quite
sensitive to the approximations made during calculations. Requested
complex parameters should in general be computed on the model grid and
then interpolated to the needed output format. Interpolated variables
should not be used for further calculations. It is our interest that
data, which is said to originate from HIRLAM, is derived from the
model level data in accordance with the finite difference
approximations used in the model itself.
-
Postprocessing within the model allows to use the most effective and optimized
computer environment for calculations, which is not always the case in
the users own environment. The HIRLAM libraries for handling the grib files
are also automatically available in this environment.
-
Maintenance of the postprocessing code as one of the HIRLAM libraries
is easier and more reliable than maintenance of separate programs
written by different users. The code might be separated from the model
for stand-alone postprocessing purposes.
At the moment postprocessing within HIRLAM allows users to produce model
level and pressure level data in GRIB format and time series data in a
BUFR-like format. The set of available variables has been developed during the
history of HIRLAM and contains the most essential model variables, although
not always handled in the most systematic way. Postprocessed variables
are requested in the namelists defined by the user.
In the following the variables available from the latest reference
HIRLAM 4.9.0 version are listed together with some enhancements under
development at FMI (in italics). The enhancements are mainly concerned
with deriving variables for constant height levels and isentropic
levels. In addition to writing new subroutines some of the existing
code has been modified (not shown in italics). Adding of other new
variables should be quite straightforward. At the moment time series
data and stand-alone postprocessing remain as defined for the earlier
reference versions, thus not touched by the enhancements.
An overview of the enhanced code structure and available variables are
given in Tables below.
Some components of the enhanced postprocessing code
| grdy |
POSTP |
call OMCOMP |
to calculate model level omega |
| |
POSTP |
call EDCOMP |
to calculate model level etadot |
| |
POSTP |
call POSTPP |
for all postprocessing |
prpo |
POSTPP |
call METRIC,MFXCOMP |
to calculate metric coefficients and mass flux components |
| |
POSTPP |
call WCOMP |
to calculate model level w |
| |
WCOMP |
call VERADV,HORADV |
for calculation of advection |
| |
VERADV |
call HORDIV |
for calculation of divergence |
| |
POSTPP |
call PVCOMP |
to calculate model level IPV |
| |
PVCOMP |
call VORTIC |
for calculation of vorticity |
| |
POSTPP |
call GPOCOM |
to calculate model full and half level geopotentials |
| |
POSTPP |
call INTPRE |
for pressure level interpolation |
| |
INTPRE |
call FIPINT,TPINT,XPINT,OMINT |
to interpolate variables to pressure levels |
| |
INTPRE |
call PSLCOM |
to calculate mean sea level pressure |
| |
POSTPP |
call INTHGT |
for constant height level interpolation |
| |
INTHGT |
call PHGCAL |
to calculate pressure on the height level |
| |
INTHGT |
call XZINT XTRHGT |
to interpolate/extract nearest model level variables to
height levels |
| |
POSTPP |
call PTHCAL |
to calculate pressures of isentropic surfaces |
| |
PTHCAL |
call XPINT0 |
pressure interpolation in one point x,y |
| |
POSTPP |
call INTTHE |
for isentropic level interpolation |
| |
INTTHE |
call XPINT1,FIPINT1,TPINT1,UPINT1,VPINT1 |
to interpolate variables to isentropic levels |
| |
POSTPP |
call XTRETA |
for extraction of model level data |
| |
XTRETA |
call XTR,VINT |
to extract needed model level data |
Possible output from the HIRLAM model
State variables and diagnostics on model surfaces:
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| isentropic potential vorticity |
Ks-1Pa-1 |
004 |
109 |
|
|
| temperature |
K |
011 |
109 |
|
|
| potential temperature |
K |
013 |
109 |
|
|
| dew point temperature |
K |
017 |
109 |
|
|
| u-component of wind |
ms-1 |
033 |
109 |
|
relative to the rotated coordinates, given at u-points |
| v-component of wind |
ms-1 |
034 |
109 |
|
relative to the rotated coordinates, given at v-points |
| vertical velocity (sigma coordinates) |
s-1 |
038 |
109 |
|
used to store hybrid coordinate etadot |
| vertical velocity (pressure coordinates) |
Pas-1 |
039 |
109 |
|
|
| geometric vertical velocity |
ms-1 |
040 |
109 |
|
|
| absolute vorticity |
s-1 |
041 |
109 |
|
given at vorticity points |
| relative vorticity |
s-1 |
043 |
109 |
|
given at vorticity points |
| specific humidity |
kg kg-1 |
051 |
109 |
|
|
| relative humidity |
fraction |
052 |
109 |
|
|
| total precipitation |
kg m-2 |
061 |
109 |
|
accumulated |
| specific cloud condensate |
kg kg-1 |
076 |
109 |
|
|
| total cloud cover |
fraction |
071 |
109 |
|
|
| convective cloud cover |
fraction |
072 |
109 |
|
|
| kinetic energy of turbulence |
J kg-1 |
200 |
109 |
|
|
State variables and diagnostics on pressure levels
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| geopotential |
J kg-1 |
006 |
100 |
|
|
| temperature |
K |
011 |
100 |
|
|
| potential temperature |
K |
013 |
100 |
|
|
| dew point temperature |
K |
017 |
100 |
|
|
| u-component of wind |
ms-1 |
033 |
100 |
|
relative to the rotated coordinates, given at u-points |
| v-component of wind |
ms-1 |
034 |
100 |
|
relative to the rotated coordinates, given at v-points |
| vertical velocity (pressure coordinates) |
Pas-1 |
039 |
100 |
|
|
| relative humidity |
fraction |
052 |
100 |
|
|
| total cloud cover |
fraction |
071 |
100 |
|
|
| specific cloud condensate |
kg kg-1 |
076 |
100 |
|
|
| kinetic energy of turbulence |
J kg-1 |
200 |
100 |
|
|
State variables and diagnostics on constant height levels
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| pressure |
Pa |
001 |
103 |
|
|
| isentropic potential vorticity |
Ks-1Pa-1 |
004 |
103 |
|
|
| temperature |
K |
011 |
103 |
|
|
| potential temperature |
K |
013 |
103 |
|
|
| dew point temperature |
K |
017 |
103 |
|
|
| u-component of wind |
ms-1 |
033 |
103 |
|
relative to the rotated coordinates, given at u-points |
| v-component of wind |
ms-1 |
034 |
103 |
|
relative to the rotated coordinates, given at v-points |
| geometric vertical velocity |
ms-1 |
040 |
103 |
|
|
| absolute vorticity |
s-1 |
041 |
103 |
|
given at vorticity points |
| relative vorticity |
s-1 |
043 |
103 |
|
given at vorticity points |
| relative humidity |
fraction |
052 |
103 |
|
|
| total cloud cover |
fraction |
071 |
103 |
|
|
| specific cloud condensate |
kg kg-1 |
076 |
103 |
|
|
| kinetic energy of turbulence |
J kg-1 |
200 |
103 |
|
|
State variables and diagnostics on isentropic levels
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| pressure |
Pa |
001 |
113 |
|
|
| isentropic potential vorticity |
Ks-1Pa-1 |
004 |
113 |
|
|
| geopotential |
J kg-1 |
006 |
113 |
|
|
| temperature |
K |
011 |
113 |
|
|
| dew point temperature |
K |
017 |
113 |
|
|
| u-component of wind |
ms-1 |
033 |
113 |
|
relative to the rotated coordinates, given at mass points |
| v-component of wind |
ms-1 |
034 |
113 |
|
relative to the rotated coordinates, given at mass points |
| Montgomery stream function |
J kg-1 |
037 |
113 |
|
|
| absolute vorticity |
s-1 |
041 |
113 |
|
given at vorticity points |
| relative vorticity |
s-1 |
043 |
113 |
|
given at vorticity points |
| relative humidity |
fraction |
052 |
113 |
|
|
| total cloud cover |
fraction |
071 |
113 |
|
|
| specific cloud condensate |
kg kg-1 |
076 |
113 |
|
|
| kinetic energy of turbulence |
J kg-1 |
200 |
113 |
|
|
Surface and soil variables
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| surface pressure |
Pa |
001 |
105 |
0 |
not the mean sea level pressure |
| surface pressure tendency |
Pa s-1 |
003 |
105 |
0 |
|
| surface geopotential |
J kg-1 |
006 |
105 |
0 |
geopotential relative to mean sea level |
| sea surface temperature |
K |
011 |
102 |
0 |
|
| land surface temperature |
K |
011 |
105 |
0 |
|
| intermediate soil temperature |
K |
011 |
105 |
999 |
|
| deep soil temperature |
K |
011 |
105 |
998 |
monthly climatology |
| water equivalent of snowpack |
m |
066 |
105 |
0 |
|
| fraction of land |
|
081 |
105 |
0 |
fraction of grid-box covered by land |
| climatological roughness length |
m |
083 |
105 |
0 |
analysis files contain a background-value |
| roughness length over sea |
m |
083 |
102 |
0 |
analysis files contain a background-value |
| background albedo |
m |
084 |
105 |
0 |
used by the forecast model to generate the actual albedo |
| land surface wetness |
m |
086 |
105 |
0 |
|
| intermediate soil wetness |
m |
086 |
105 |
999 |
|
| deep soil wetness |
m |
086 |
105 |
998 |
monthly climatology |
| fraction of ice |
|
091 |
102 |
0 |
fractional ice coverage in non-land part of grid-box |
| fraction of forest |
|
197 |
105 |
0 |
fractional forest coverage in land part of grid-box |
Near-surface diagnostics
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| mean sea level pressure |
Pa |
002 |
105 |
0 |
Old non-standard code definition: 001,103,0 |
| screen level temperature |
K |
011 |
105 |
2 |
2 m above ground |
| screen level dew point temperature |
K |
017 |
105 |
2 |
2 m above ground |
| u-component of wind at 10 m height |
ms-1 |
033 |
105 |
10 |
relative to the rotated coordinates, given at mass-points |
| v-component of wind at 10 m height |
ms-1 |
034 |
105 |
10 |
relative to the rotated coordinates, given at mass-points |
| screen level specific humidity |
kg kg-1 |
051 |
105 |
2 |
2 m above ground |
| screen level relative humidity |
fraction |
052 |
105 |
2 |
2 m above ground |
| depth of the boundary layer |
m |
067 |
105 |
0 |
|
| total cloud cover |
fraction |
071 |
105 |
0 |
|
| low level cloud cover |
fraction |
073 |
105 |
0 |
|
| medium level cloud cover |
fraction |
074 |
105 |
0 |
|
| high level cloud cover |
fraction |
075 |
105 |
0 |
|
|
Accumulated surface fluxes
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| total precipitation |
kg m-2 |
061 |
105 |
0 |
|
| grid-scale precipitation |
kg m-2 |
062 |
105 |
0 |
|
| sub grid-scale precipitation |
kg m-2 |
063 |
105 |
0 |
|
| total snowfall |
kg m-2 |
065 |
105 |
0 |
|
| grid-scale snowfall |
kg m-2 |
079 |
105 |
0 |
|
| sub grid-scale snowfall |
kg m-2 |
078 |
105 |
0 |
|
| evaporation |
kg m-2 |
057 |
105 |
0 |
|
| net short-wave radiation |
J m-2 |
111 |
105 |
0 |
|
| net long-wave radiation |
J m-2 |
112 |
105 |
0 |
|
| downwelling long-wave radiation |
J m-2 |
115 |
105 |
0 |
|
| downwelling (global) short-wave radiation |
J m-2 |
117 |
105 |
0 |
|
| latent heat flux |
J m-2 |
121 |
105 |
0 |
|
| sensible heat flux |
J m-2 |
122 |
105 |
0 |
|
| momentum flux (u-component) |
N m-2s |
124 |
105 |
0 |
relative to the rotatated grid, given at mass-points |
| momentum flux (v-component) |
N m-2s |
125 |
105 |
0 |
relative to the rotatated grid, given at mass-points |
Accumulated fluxes at the top of the atmosphere
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| net short-wave radiation |
J m-2 |
113 |
008 |
0 |
|
| net long-wave radiation |
J m-2 |
114 |
008 |
0 |
|
| downwelling short-wave radiation |
J m-2 |
117 |
008 |
0 |
|
Vertically-integrated quantities
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| precipitable water |
kg m-2 |
054 |
105 |
0 |
|
| cloud condensate |
kg m-2 |
076 |
105 |
0 |
|
| change of temperature due to parametrized processes |
K kg m-2 |
210 |
200 |
0 |
|
| change of temperature due to vertical diffusion |
K kg m-2 |
211 |
200 |
0 |
|
| change of temperature due to radiation |
K kg m-2 |
212 |
200 |
0 |
|
| change of specific humidity due to parameterized processes |
kg m-2 |
220 |
200 |
0 |
|
| change of specific humidity due to vertical diffusion |
kg m-2 |
221 |
200 |
0 |
|
| change of specific cloud condensate due to parameterized
processes |
kg m-2 |
230 |
200 |
0 |
|
| change of specific cloud condensate due to vertical diffusion |
kg m-2 |
231 |
200 |
0 |
|
| change of u-component due to parametrized processes |
kg m-1s-1 |
240 |
200 |
0 |
|
| change of u-component due to vertical diffusion |
kg m-1s-1 |
241 |
200 |
0 |
|
| change of v-component due to parametrized processes |
kg m-1s-1 |
245 |
200 |
0 |
|
| change of v-component due to vertical diffusion |
kg m-1s-1 |
246 |
200 |
0 |
|
Accumulated diagnostic variables on model levels
|
|
GRIB-code |
|
| Variable |
unit |
IPAR |
LTYP |
LEV |
note |
| change of temperature due to parameterized processes |
K s-1 |
210 |
109 |
0 |
|
| change of temperature due to vertical diffusion |
K s-1 |
211 |
109 |
0 |
|
| change of temperature due to radiation |
K s-1 |
212 |
109 |
0 |
|
| change of specific humidity due to parameterized processes |
kg kg-1s-1 |
220 |
109 |
0 |
|
| change of specific humidity due to vertical diffusion |
kg kg-1s-1 |
221 |
109 |
0 |
|
| change of specific cloud condensate due to parameterized
processes |
kg kg-1s-1 |
230 |
109 |
0 |
|
| change of specific cloud condensate due to vertical diffusion |
kg kg-1s-1 |
231 |
109 |
0 |
|
| change of u-component due to parametrized processes |
m s-2 |
240 |
109 |
0 |
|
| change of u-component due to vertical diffusion |
m s-2 |
241 |
109 |
0 |
|
| change of v-component due to parametrized processes |
m s-2 |
245 |
109 |
0 |
|
| change of v-component due to vertical diffusion |
m s-2 |
246 |
109 |
0 |
|