You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »


Types of model output

 

This page describes how to control and change options for the model output. The model is capable of producing many fields on different vertical coordinates and surface quantities.

The model produces 3 basic types of output:

Prognostic variables: these are output at specified write times. There is no provision in the model to accumulate averages.

Diagnostics variables: these are also output at specified write times, though there are some exceptions like wind gust or maximum and minimum 2m temperature which represent a max/min value over a period of time.

Cumulative variables or fluxes: these are typically fields such as precipitation which are accumulated from the start of the model run. e.g. if you want cumulative precipitation valid at 24hrs, take the difference between 24hr and 18hr output.

The sections below describe how to change and control the model output in more detail. Please contact openifs-support@ecmwf.int in case of difficulty or any questions.

Diagnostics & postprocessing software: Full-Pos

Full-Pos is the name of the code inside OpenIFS that produces the model output and 'in-model' diagnostics. We gratefully acknowledge permission from MeteoFrance to include it in OpenIFS.

More documentation about Full-Pos is available through the links below, though note that not all of the options discussed apply to OpenIFS, which does not support any stretched grids or Arpege format output and ECMWF use additional namelist variables to control output as described below.

GRIB output files

OpenIFS only produces GRIB format files as output and they are named similarly to the input files. e.g.

% ls ICM*
ICMGGepc8  ICMGGepc8+000000  ICMGGepc8+000100  ICMGGepc8INIT  ICMGGepc8INIUA  ICMSHepc8+000000  ICMSHepc8+000100  ICMSHepc8INIT

The output files all begin with 'ICM' and end in '+'00xxxx'; ICMGG files contain gridpoint fields, ICMSH files contain spectral fields. The number on the end refers to the timestep.The model can output at regular or irregular intervals according to the namelist settings.

OpenIFS appends to existing files

The model I/O will not overwrite existing files of the same name. It will append to existing files. That is, if you ran the same model run twice without moving the output files the same data would be written and the filesize would double. The script that runs the model should take this into account and delete or move the files.

GRIB parameters

Model output variables are specified in the namelists by using GRIB field codes.

The multilevel fields are written as GRIB2 messages, whilst other fields are written as GRIB1 (this is why the environment variable GRIB_SAMPLES_PATH in the job script points to a file '.../ifs_samples/grib1_mlgrib2; the 'mlgrib2' means multilevel fields are GRIB2). GRIB parameter IDs are the same in GRIB1 and GRIB2.

A list of GRIB parameter IDs is available at: http://apps.ecmwf.int/codes/grib/param-db. NOTE!  Not all grib codes listed here can be output by the model. Please see tables below.

OpenIFS mostly uses grib codes from table 128 and will be 3 digits. If you see 6 digit codes specified in a model namelist, the first 3 digits refer to the GRIB table and the last 3 digits are the field code.

Available output variables

Namelist NAMFPC: This is the main namelist for the post-processing.

If you find the model output does not provide what you need, please contact openifs-support@ecmwf.int who can advise on the namelist settings to use.

Model variables may be output as 3D or 2D, either gridpoint or spherical harmonic forms and on model, pressure, theta, PV or height levels.

Gridpoints fields are output to the ICMGG files, spectral fields are output to the ICMSH files.

The following tables shows what variables are output on which levels and in what form:

3D fields available for output

These grib codes can be used in the namelist NAMFPC for these variables (see below for more details):

MFP3DFS - fields on model levels,            MFP3DFP - fields on pressure levels,
MFP3DFT - fields on theta levels,              MFP3DFV - fields on PV levels,
MPF3DFH - fields on height levels

Long nameShort nameUnitsFormatGRIB code
Potential temperatureptKSpectral3
Montgomery geopotentialmontm2s-2Spectral53
PressurepresPaSpectral54
Potential vorticitypvK.m2.kg-1.s-1Gridpoint60
Specific rain water contentcrwckg.kg-1Gridpoint75
Specific snow water contentcswckg.kg-1Gridpoint76
Eta-coordinate vertical velocityetadots-1Spectral77
Geopotentialzm2s-2Spectral129
TemperaturetKSpectral130
U component of windum.s-1Spectral131
V component of windvm.s-1Spectral132
Specific humidityqkg.kg-1Gridpoint133
Surface pressurespPaSpectral134
Vertical velocitywPa.s-1Spectral135
Vorticity (relative)vos-1Spectral138
Divergenceds-1Spectral155
Relative humidityr%Spectral157
Ozone mass mixing ratioo3kg.kg-1Gridpoint203
Vertical diffusion of humidityvdhkg.kg-1Spectral224
Humidity tendency by
cumulus convection
htcckg.kg-1Spectral225
Tendency due to removal
of negative humidity
crnhkg.kg-1Spectral227
Specific cloud liquid water contentclwckg.kg-1Gridpoint246
Specific cloud ice water contentciwckg.kg-1Gridpoint247
Cloud covercc(0-1)Gridpoint248
V-tendency from non-orographic
wave drag
vtnowdm.s-2Gridpoint228134

U-tendency from non-orographic
wave drag

utnowdm.s-2Gridpoint228136

2D fields available for output

Most 2D fields are surface fields.These variables are for the MFPPHY variable in namelist NAMFPC unless otherwise stated.

Note that some fields are accumulated from the beginning of the forecast.

Long nameShort nameUnitsFormatGRIB codeDescription
Sea-ice coverci(0-1)Gridpoint31 
Snow albedoasn(0-1)Gridpoint32 
Snow densityrsnkg.m-3Gridpoint33 
Ice temperature layer 1istl1KGridpoint35 
Ice temperature layer 2istl2KGridpoint36 
Ice temperature layer 3istl3KGridpoint37 
Ice temperature layer 4istl4KGridpoint38 
Volumetric soil water layer 1swvl1m3m-3Gridpoint39 
Volumetric soil water layer 2swvl2m3m-3Gridpoint40 
Volumetric soil water layer 3swvl3m3m-3Gridpoint41 
Volumetric soil water layer 4swvl4m3m-3Gridpoint42 
Soil typesltdimensionlessGridpoint43 
Snow evaporationesm of water
equivalent
Gridpoint44 
Snow meltsmltm of water
equivalent
Gridpoint45 
10 metre wind gust since previous post-processing10fgm.s-1Gridpoint49Maximum 3 second wind at 10 m height as defined by WMO. Parametrization represents turbulence only before 01/10/2008; thereafter effects of convection are included. The 3 s gust is computed every time step and the maximum is kept since the last postprocessing.
Large-scale precipitation fractionlspfsGridpoint50Accumulated field. Fraction of the grid box that is covered by large-scale precipitation.
Downward UV radiation at the surfaceuvbJ.m-2Gridpoint57Accumulated field. Ultra-violet band 0.20-0.44 um.
Photosynthetically active radiation
at the surface
parJ.m-2Gridpoint58Accumulated field. 0.44-0.70 um.

Convective available potential energy

capeJ.kg-1Gridpoint59For computational efficiency CAPE is computed as the vertical integral of excess of equivalent potential temperature of an undilute updraught compared to the saturated equivalent potential temperature of the environment. The results tends to be about 20% higher than the CAPE based on virtual temperature.

Total column liquid water

tclwkg.m-2Gridpoint78Vertical integral of cloud liquid water content
Total column ice watertciwkg.m-2Gridpoint79Vertical integral of cloud ice water content
Maximum temperature at 2 metre
in the last 6 hours
mx2t6KGridpoint121 
Minimum temperature at 2 metre
in the last 6 hours
mn2t6KGridpoint122 
10 metre wind gust in the 6 hours10fg6m.s-1Gridpoint123 
Surface emissivityemisdimensionlessGridpoint124 
Vertically integrated total energyviteJ.m-2Gridpoint125 
Geopotential
(surface orography)
zm2.s-2Spectral129 
Total column watertcwkg.m-2Gridpoint136Vertically integrated total water (vapour + cloud water + cloud ice)
Total column water vapourtcwvkg.m-2Gridpoint137Vertically integrated water vapour
Soil temperature level 1stl1KGridpoint139

Top soil layer: 1-7 cm.

Snow depthsdm of water
equivalent
Gridpoint141 
Large-scale (stratiform) precipitation (rain+snow)lspmGridpoint142Accumulated field. Precipitation from the cloud scheme (which also takes detrained water/ice from the convection scheme as input).
Convective precipitation (rain+snow)cpmGridpoint143Accumulated field. Precipitation from updraughts in the convection scheme.
Snowfallsfm of water equivalentGridpoint144Accumulated field. Convective + stratiform snowfall.
Boundary layer dissipationbldJ.m-2Gridpoint145Accumulated field. Conversion of kinetic energy of the mean flow into heat by turbulent diffusion (vertically integrated).
Surface sensible heat fluxsshfJ.m-2Gridpoint146Accumulated field. Exchange of heat with the surface through turbulent diffusion (by model convention, downward fluxes are positive).
Surface latent heat fluxslhfJ.m-2Gridpoint147Accumulated field. Exchange of latent heat with the surface through turbulent diffusion (by model convention, downward fluxes are positive)
Mean sea-level pressuremslPaSpectral151 
Logarithm of surface pressurelnspdimensionlessSpectral152 
2 metre dewpoint temperature2dKGridpoint168 
Soil temperature level 2stl2KGridpoint170Soil layer 2: 7-28 cm
Soil temperature level 3stl3KGridpoint183Soil layer 3: 28-100 cm.
Total precipitation (rain+snow)tpmGridpoint228Accumulated field. Convective precipitation + stratiform precipitation (CP +LSP).

 

How to control output frequency

The namelist variables that control the output from the model as it runs are:

Namelist : NAMCT0

LFPOS - this should be set TRUE in order to turn on model output and diagnostics.

NFRHIS   - this is the output frequency of the 'history' files, that is, the model's variables on the model levels.
NFRPOS
  - this is the output frequency of the model variables.

It's recommended these are set the same.

If NFRHIS/NFRPOS are positive, the units are in model timesteps. If a negative value is used, the units are in hours.

NPOSTS & NHISTS - these are integer arrays that control the write times of the history files.  They can be used for non-regular output intervals.

Examples

Regular output at fixed timesteps

NFRHIS=4,
NFRPOS=4,
NPOSTS=0,
NHISTS=0,

This simple example will cause the model to produce history file output every 4 timesteps.

Make sure that NPOSTS/NHISTS is set to zero for regular output because irregular output (NPOSTS /= 0) takes precedence.

For this to work correctly, NFRHIS * timestep must equal an integer number of hours. Output will not work correctly if this isn't the case.

Non-regular output

NFRHIS=1,
NFRPOS=1,
NHISTS(0)=-3,
NHISTS(1:3)=0,-3,-9,
NPOSTS(0)=-3,
NPOSTS(1:3)=0,-3,-9,

The minus sign indicates the units are in hours rather than timesteps. NFRHIS/NFRPOS in this case must be set to 1. The 0th element of NHISTS/NPOSTS determines how many outputs are produced in total by the model, the first to nth elements determine the actual output times (hours in this case because of the negative values used).

In this example, the model will write 3 separate output files at the first timestep (0hrs), 3hrs and 9hrs and then no more regardless of how long the model runs for.

Model, pressure, theta, PV and height level output

Output levels: Model output can be produced on different vertical coordinates: model levels, pressure, height, potential temperature and PV levels. Output on each vertical coordinate is controlled by 3 namelist variables for each type: the number of fields, the grib codes of the fields and the levels to output on.

Namelist NAMFPC: This is the main namelist for the post-processing. Variables in this list can be sensitive to changes as many combinations are possible but not all work.

If you find the model output does not provide what you need, please contact openifs-support@ecmwf.int who can advise on the namelist settings to use.

The *FP3D and *FP2D namelist variables are reserved for the prognostic (or derived) variables from the dynamics/numerics.

The "PHY" group of variables is for variables from the physics routines.

NAMCT0: LFPOS. To enable post-processing make sure LFPOS=true in the NAMCT0 namelist.

 

To output on pressure, PV or theta level output you must also enable output of the 2D spectral orography, surface pressure & log surface pressure.
i.e. also set:
             &NAMFPC
                  NFP2DF=3,
                  MFP2DF=129,134,152,

Model level output

To control model level output the following namelist variables (in NAMFPC) are used:

NRFP3S - list of the model levels on which post-processed output is required.
                e.g. for a 60 level model run where output on all levels was required set:
                NRFP3S=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,
                For a 91 level model, this would give output on the first 60 levels (top level first).

NFP3DFS - number of 3D fields to be output on model levels. Must equal number of entries in MFP3DFS.
MFP3DFS - list of grib codes of 3D variables to be output on model levels. See table above for valid codes.

               e.g
               NFP3DFS = 4,
               MFP3DFS = 130, 135, 138, 155,
               would output the temperature (130), vertical velocity (135), relative vorticity (138), divergence (155) on model levels.

Pressure level output

RFP3P - list of pressure levels (units Pascals) on which post-processed output is required.
e.g.
       RFP3P=100000.,85000.,70000.,50000.,
      
would produce output on 100hPa, 850hPa, 700hPa and 500hPa.

NFP3DFP - number of 3D fields to be output on pressure levels. Must equal number of entries in MFP3DFP.
MFP3DFP - list of grib codes of 3D variables to be output on pressure levels. See table above for valid codes.

Theta level output

RFP3TH - real array in units of Kelvin, of the theta levels on which post-processed output is required.
e.g.
               RFP3TH=330,375,400,450,
               would produce output on 330K, 375K, 400K and 450K levels.

NFP3DFT - number of 3D fields to output to theta levels. Must equal number of GRIB codes listed in MFP3DFT.
MFP3DFT - list of GRIB codes of 3D variables to be output on theta levels. See table above for valid codes.

PV level output

RFP3PV - real array in PV units of the potential vorticity levels on which post-processed output is required.
e.g.
                RFP3PV=2E-6,3E-6,
                would give output on the +/- 2 and +/- 3 PVU surfaces.

NFP3DFV - number of 3D fields to output to PV levels. Must equal number of GRIB codes listed in MFP3DFV.
MFP3DFV - list of GRIB codes of 3D variables to be output on PV levels. See table above for valid codes.

Height level output

RFP3H - real array in units of metres of height levels above orography for which post-processed output is required.
e.g.
           RFP3H=200,1000,5000,
           would give output on 200m, 1km and 5km height surfaces

NFP3DFH - number of 3D fields to output to height levels. Must equal number of GRIB codes listed in MFP3DFH.
MFP3DFH - list of GRIB codes of 3D variables to be output on height levels. See table above for valid codes.

The height level output is not encoded correctly to GRIB and may appear as model 'hybrid' levels.

Example namelist

An annotated example NAMFPC namelist can be downloaded.

Spectral fit of dynamic fields

If you wish to post-process surface or upper-air dynamically fields on pressure, theta or PV levels, it is possible to perform a spectral fit between the vertical interpolation and the horizontal interpolation. Although this adds to the cost of the model, the spectral fit will remove numerical noise generated by the vertical interpolation beyond the model truncation and is normally recommended.

The NAMFPC namelist variables to set are:

LFITP - enables spectral fitting of post-processed fields on pressure levels.

LFITT - enables spectral fitting of post-processed fields on theta levels.

LFITV - enables spectral fitting of post-processed fields on PV levels.

LFIT2D - enables spectral fitting of 2D post-processed fields.

It is not possible to spectral fit upper air dynamic fields on height levels or hybrid model levels because the horizontal interpolations are performed before the vertical interpolation in order to respect the displacement of the planetary boundary layer.

Dynamic fields not represented by spectral coefficients in the model will not be spectrally fitted even if the corresponding namelist variable above is set .TRUE. Post-processed dynamical fields which are represented by spectral coefficients in the model are spectrally fitted only when the variables above are TRUE.

Several fields can be smoothed via tunable spectral filters. For further information on this advanced usage, please see section 3.1.2 in the Full-Pos Users Guide.

How to change output at every output instance

(to be done: describe use of postins/dirlist)

Other NAMFPC namelist variables

CFPFMT - this character string controls the format of the output files. For OpenIFS this should always be set to 'MODEL'.

NFPCLI - this integer variable is used to control the use of climatology data in improving the accuracy of the upper air fields and several surface fields when interpolated on surface-dependent levels.
               For OpenIFS, the default is 0 (i.e. off). For more information on this option and the use of climatology data, see section 3.1.3 in the Full-Pos Users Guide.
               You may see other NAMFPC variables like: RFPCORR, LFPMOIS which are related to the use of climatology data. Again, for more details see the Users Guide.

LFPQ - this logical variable controls the interpolation of relative or specific humidity on height or model levels. The recommended value is .FALSE.
           Relative humidity has better conservative properties than mixing ratio when interpolating even if it's not a conservative quantity.
           If set FALSE (recommended) the relative humidity is interpolated then specific humidity is subtracted. If TRUE, specific humidity is first interpolated.

 


 

 

 

 

On this page

 

 

 

 

Example namelist

Download an example, annotated, NAMFPC namelist.

 

 

FDB - Parallel I/O

OpenIFS supports a more advanced I/O system called 'FDB' (Fields Database) which permits parallel I/O for improved performance at highest resolutions. This mirrors the system in use operationally at ECMWF. Use of FDB requires installation of additional software, technical support at the host institution and is only practical on large HPC installations. For more information please contact openifs-support@ecmwf.int.

 

 

 

Code Hints

GRIB codes the model knows about are defined in the file:
              ifs/module/yom_grib_codes.F90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Potential vorticity and theta surfaces

More information about theta & PV output can be found here:
http://www.ecmwf.int/products/data/archive/descriptions/other/isentropic_PV.html

PV levels. Note that specifying 2E-6 in the namelist implies both a positive PV surface in the northern hemisphere and the negative PV surface in the southern hemisphere.

PV surfaces may not always be found. Each surface is constructed by searching down from the model level closest to 96hPa. Values at this model level are used where no PV values specified can be found.

Theta levels. Care must also be taken in selecting theta levels as in the troposphere, theta levels dip towards the surface.

Tropopause. The dynamical tropopause is often defined by the 1.5 - 2 PVU surface outside the tropics, with the tropical tropopause layer (TTL) approximately  between 340K - 380K.

  • No labels