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 layers.

OpenIFS produces 3 basic types of output:

Prognostic variables: these are output at controllable 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.

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.

ECMWF use additional namelist variables to control output as described in the sections 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+000000  ICMGGepc8+000100  ICMSHepc8+000000  ICMSHepc8+000100

The output files all begin with 'ICM' and end in '+'00xxxx'. The number on the end refers to the timestep.

ICMGG files contain gridpoint fields, ICMSH files contain spectral fields.

The model can output at regular or irregular intervals according to the namelist settings.

OpenIFS appends to existing files

The model I/O will append to existing files and not overwrite existing files of the same name. If the model is run twice without moving the output files, the same data would be written to the previous output. The script that runs the model should take this into account and delete or move the files. See the run script provided.

How to control output frequency

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

Namelist : NAMCT0

LFPOS - (38r1 only) this should be set TRUE in order to turn on model output and diagnostics.

NFPOS - (40r1+). Set NFPOS=2 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.

NFRHIS and NFRPOS are usually set to the same value. If they are positive, the units are in model timesteps, if negative 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. If they are positive, the units are in model timesteps, if negative the units are in hours.

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 and NHISTS is set to zero for regular output because irregular output (NPOSTS /= 0) takes precedence.

History output may not work correctly if NFRHIS * timestep does not equal an integer number of hours.

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,

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.

The minus sign indicates the units are in hours rather than timesteps. 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).

NFRHIS or NFRPOS act as a multiplier to the values in the NHISTS and NPOSTS arrays. For example, if NFRPOS is set to two, this has the effect in the above example of producing output at 0, 6 and 18hrs rather than 0, 3 and 9 hrs.

Controlling output on different level types

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.

GRIB codes: for a complete list of available GRIB output, please see the tables below.

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).

Note: if output on all model levels is desired then this can be specified by setting NRFP3S=-99 (instead of writing out the full comma-separated sequence of model levels)

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 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 1000hPa, 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 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 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 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 for valid codes.

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

Example annotated namelist

An annotated example NAMFPC namelist can be downloaded.

GRIB parameters

Model output variables are specified in the namelists by using GRIB field codes. GRIB is a WMO standard concise data format.

There are two versions of the GRIB format, known as GRIB edition 1 (released in 1994) and GRIB edition 2 (released in 2003).

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

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.

A complete 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.

A list of the GRIB fields in the operational datasets from ECMWF can be found here in the description of the HRES forecast output.

Controlling output with namelist NAMFPC

This is the namelist for controlling the post-processing. The model will not output any fields unless requested in the appropriate namelist variable.

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 output fields available

Three-dimensional output fields can be in both spectral and gridpoint form. This is indicated in the table below. Spectral and gridpoint fields are written to separate output fields.

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

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


For more information, the reader is referred to the IFS Documentation manuals.

All tables are sortable by column, click in the header column.

Long nameShort nameUnitsFormatGRIB codeDescription
Potential temperatureptKSpectral3-
Montgomery geopotentialmontm2s-2Spectral53Takes the role of geopotential in an isentropic vertical coordinate
PressurepresPaSpectral54-
Potential vorticitypvK.m2.kg-1.s-1Gridpoint60-
Precipitation rain water specific contentcrwckg.kg-1Gridpoint75Grid-box mean specific precipitating rain water content from stratiform cloud (mass of condensate / mass of moist air).
Precipitation snow water specific contentcswckg.kg-1Gridpoint76Grid-box mean specific snow water content(representing aggregated ice particles) from stratiform cloud (mass of condensate / mass of moist air).
Eta-coordinate vertical velocityetadots-1Spectral77

Total time derivative of the hybrid vertical coordinate η. This is the vertical velocity used in the vertical advection in the ECMWF model, because eta is used as vertical coordinate.

Geopotentialzm2s-2Spectral129At the surface, equivalent to orography
TemperaturetKSpectral130-
U component of windum.s-1Spectral131-
V component of windvm.s-1Spectral132-
Specific humidityqkg.kg-1Gridpoint133Grid box mean (mass of water vapour / mass of moist air)
Vertical velocitywPa.s-1Spectral135Pressure vertical velocity dp/dt. In the model equations it is usually denoted by the Greek letter omega.
Vorticity (relative)vos-1Spectral138-
Divergenceds-1Spectral155Relative divergence.
Relative humidityr%Spectral157Relative humidity is defined with respect to saturation of the mixed phase, i.e. with respect to saturation over ice below -23C and with respect to saturation over water above 0C. In the regime in between a quadratic interpolation is applied.
Ozone mass mixing ratioo3kg.kg-1Gridpoint203-
Specific cloud liquid water contentclwckg.kg-1Gridpoint246Grid-box mean specific cloud liquid water content (mass of condensate / mass of moist air)
Specific cloud ice water contentciwckg.kg-1Gridpoint247Grid-box mean specific cloud ice water content (mass of condensate / mass of moist air)
Cloud covercc(0-1)Gridpoint248

Horizontal fraction of the grid box covered by cloud

2D dynamical output fields available

These fields are computed by the model's dynamical core. It is strongly recommended these fields are always enabled in the output in order for the post-processing to work correctly. Note these fields can also be output as gridpoint fields in MFPPHYS. 

These GRIB codes are for use with the NAMFPC variable: MFP2DF. Remember to set the number of gribcodes used with NFP2DF.

Long nameShort nameUnitsFormatGRIB codeDescription
Geopotentialzm2.s-2Spectral129 Surface orography.
Surface pressurespPaSpectral134-
Logarithm of surface pressurelnspdimensionlessSpectral152-

2D physical output fields available

These variables are for the MFPPHY variable in namelist NAMFPC and are largely computed by the model's physical parametrizations.

Accumulated fields

Fields marked as accumulated fields are accumulated from the beginning of the forecast. See below for how to reset these during the model forecast.

Climatological fields

Some fields are marked as climatological fields and are invariant in the forecast.


3 digit GRIB codes are from table 128. 6 digit GRIB codes use the first 3 digits to indicate the table number.


Long nameShort nameUnitsFormatGRIB codeDescription
Surface runoffsromGridpoint8Accumulated field
Sub-surface runoffssromGridpoint9Accumulated field. Deep soil drainage.
Sea-ice coverci(0-1)Gridpoint31Fraction of grid box that is covered with sea ice (kept constant during forecast)
Snow albedoasn(0-1)Gridpoint32Albedo of the snow covered part of the grid box
Snow densityrsnkg.m-3Gridpoint33Snow mass per unit of volume
Sea surface temperaturesstkKGridpoint34Temperature of the sea water (bulk SST), as specified by external analysis (skin temperature is equal to bulk SST before 01/10/2008)
Ice temperature layer 1istl1KGridpoint35Sea ice top layer, 0-7 cm
Ice temperature layer 2istl2KGridpoint36Sea ice layer 2: 7-28 cm
Ice temperature layer 3istl3KGridpoint37Sea ice layer 3: 28-100 cm
Ice temperature layer 4istl4KGridpoint38Sea ice layer 4: 100-150 cm
Volumetric soil water layer 1swvl1m3m-3Gridpoint39Top soil layer: 0-7 cm
Volumetric soil water layer 2swvl2m3m-3Gridpoint40

Soil layer 2: 7-28 cm

Volumetric soil water layer 3swvl3m3m-3Gridpoint41Soil layer 3: 28-100 cm
Volumetric soil water layer 4swvl4m3m-3Gridpoint42Soil layer 4: 100-289 cm
Snow evaporationesm of water
equivalent
Gridpoint44Accumulated field. Evaporation from snow averaged over the grid box (to find flux over snow, divide by snow fraction).
Snow meltsmltm of water
equivalent
Gridpoint45Accumulated field. Melting of snow averaged over the grid box (to find melt over snow, divide by snow fraction).
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 hoursmx2t6KGridpoint121
Minimum temperature at 2 metre in the last 6 hoursmn2t6KGridpoint122
10 metre wind gust in the 6 hours10fg6m.s-1Gridpoint123
Surface emissivityemisdimensionlessGridpoint124
Vertically integrated total energyviteJ.m-2Gridpoint125
Geopotentialzm2.s-2Gridpoint129Surface orography
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)
Charnock parameterchnkdimensionlessGridpoint148Charnock parameter as returned by the wave model. Note wave model must be active.
Mean sea-level pressuremslPaGridpoint151
Boundary layer heightblhmGridpoint159Boundary layer defined through Troen and Mahrt parcel lifting method
Total cloud covertcc(0-1)Gridpoint164Total cloud cover derived from model levels using the model's overlap assumption
10 metre U wind component10um.s-1Gridpoint165
10 metre V wind component10vm.s-1Gridpoint166
2 metre temperature2tKGridpoint167
2 metre dewpoint temperature2dKGridpoint168
Surface solar radiation downwardsssrdJ.m-2Gridpoint169Accumulated field
Soil temperature level 2stl2KGridpoint170Soil layer 2: 7-28 cm
Land-sea masklsm(0 - 1)Gridpoint172Fractional land cover (model uses 0.5 as threshold for mask)
Surface roughnesssrmGridpoint173Aerodynamic roughness length (over land). Climatological field.
Albedoal(0 - 1)Gridpoint174Background albedo. Climatological field.
Surface thermal radiation downwardsstrdJ.m-2Gridpoint175Accumulated field
Surface net solar radiationssrJ.m-2Gridpoint176Accumulated field. Net solar radiation at the surface.
Surface net thermal radiationstrJ.m-2Gridpoint177Accumulated field. Net thermal radiation at the surface (by model convention downward fluxes are positive).
Top net solar radiationtsrJ.m-2Gridpoint178Accumulated field. Net solar radiation at the top of the atmosphere.
Top net thermal radiationttrJ.m-2Gridpoint179Accumulated field. Net thermal radiation at the top of the atmosphere (by model convention downward fluxes are positive).
Eastward turbulent surface stressewssN.m-2.sGridpoint180Accumulated field. Eastward surface stress due to turbulent processes.
Northward turbulent surface stressnsssN.m-2.sGridpoint181Accumulated field. Northward surface stress due to turbulent processes.
Evaporationem of water equivalentGridpoint182Accumulated field. Moisture flux from the surface into the atmosphere (by model convention downward fluxes are positive).
Soil temperature level 3stl3KGridpoint183Soil layer 3: 28-100 cm.
Low cloud coverlcc(0 - 1)Gridpoint186Cloud cover derived from model levels between the surface and 0.8 of the surface pressure using the model's overlap assumption
Medium cloud covermcc(0 - 1)Gridpoint187Cloud cover derived from model levels between 0.8 and 0.45 of the surface pressure using the model's overlap assumption
High cloud coverhcc(0 - 1)Gridpoint188Cloud cover derived from model levels between 0.45 of the surface pressure and the model top using the model's overlap assumption
Sunshine durationsundsGridpoint189Accumulated field. Time that radiation in the direction of the sun is above 120 W/m2.
Eastward gravity wave surface stresslgwsN.m-2.sGridpoint195Accumulated field. Eastward component of surface stress due to gravity waves and orographic blocking.
Northward gravity wave surface stressmgwsN.m-2.sGridpoint196Accumulated field. Northward component of surface stress due to gravity waves and orographic blocking.
Gravity wave dissipationgwdJ.m-2Gridpoint197Accumulated field. Conversion of kinetic energy of the mean flow into heat due gravity waves and orographic blocking (vertically integrated).
Skin reservoir contentsrcm of water equivalentGridpoint198Amount of water in interception reservoir
Maximum temperature at 2 metresmx2tKGridpoint201Maximum temperature at 2 metres since previous post-processing
Minimum temperature at 2 metresmn2tKGridpoint202Minimum temperature at 2 metres since previous post-processing
RunoffromGridpoint205Accumulated field. Amount of water that is lost from the soil through surface runoff and deep soil drainage.
Total column ozonetco3kg m-2Gridpoint206Vertically integrated ozone. Before 20010612 was in Dobson units. 1 Dobson = 2.1415E-5 kg m-2.
Top net solar radiation, clear skytsrcJ m-2Gridpoint208Accumulated field. Clear sky net solar radiation at the top of the atmosphere (assuming transparent clouds).
Top net thermal radiation, clear skyttrcJ m-2Gridpoint209Accumulated field. Clear sky net thermal radiation at the top of the atmosphere (clear-sky OLR; assuming transparent clouds)  (by model convention, downward fluxes are positive).
Surface net solar radiation, clear skyssrcJ m-2Gridpoint210Accumulated field. Clear sky net solar radiation at the surface (assuming transparent clouds).
Surface net thermal radiation, clear skystrcJ m-2Gridpoint211Accumulated field. Clear sky net thermal radiation at the surface (assuming transparent clouds) (by model convention, downward fluxes are positive).
TOA incident solar radiationtisrJ m-2Gridpoint212Accumulated field
Vertically integrated moisture divergencevimdkg m-2Gridpoint213
Total precipitation (rain+snow)tpmGridpoint228Accumulated field. Convective precipitation + stratiform precipitation (CP +LSP).
Instantaneous eastward turbulent surface stressiewsN.m-2Gridpoint229
Instantaneous northward turbulent surface stressinssN.m-2Gridpoint230
Instantaneous surface sensible heat fluxishfW.m-2Gridpoint231By model convention, downward fluxes are positive
Instantaneous moisture fluxiekg m-2 s-1Gridpoint232Evaporation (by model convention, downward fluxes are positive)

Logarithm of surface roughness length for heat

lsrhdimensionlessGridpoint234Climatological field. Represents surface roughness length for heat and moisture over land.
Skin temperaturesktKGridpoint235Temperature of the surface skin (radiative surface temperature). Before 01/10/2008, the skin temperature was equal to the bulk SST over the ocean.
Soil temperature level 4stl4KGridpoint236Layer 100-289 cm
Temperature of snow layertsnKGridpoint238
Forecast albedofal(0 - 1)Gridpoint243Albedo as used by the IFS, consisting of a background albedo, modified over the ocean dependent on solar elevation and modified over land areas with snow.
Forecast surface roughnessfsrmGridpoint244Surface aerodynamic roughness as used by the IFS. Over the ocean it depends on ocean wave parameters. Over land it is copied from the climatological field SR before 12/09/2006. After 12/09/2006 the land roughness is derived from the vegetation type through a correspondence table. Snow areas are set to a model defined value.
Forecast logarithm of surface roughness for heatflsrdimensionlessGridpoint245Logarithm of roughness length for heat and moisture as used by the IFS. Over the ocean it depends on surface friction. Over land it is copied from the climatological field LSRH before 12/09/2006.After 12/09/2006 the land roughness length for heat is derived from the vegetation type through a correspondence table. Snow areas are set to a model defined value
Convective inhibitioncinJ kg-1Gridpoint228001
Lake mix-layer temperaturelmltKGridpoint228008Requires lake model enabled
Lake mix-layer depthlmldmGridpoint228009Requires lake model enabled
Lake bottom temperaturelbltKGridpoint228010Requires lake model enabled
Lake total layer temperatureltltKGridpoint228011Requires lake model enabled
Lake shape factorlshfdimensionlessGridpoint228012Requires lake model enabled
Lake ice temperaturelictKGridpoint228013Requires lake model enabled
Lake ice depthlicdKGridpoint228014Requires lake model enabled
Zero degree leveldeg0lmGridpoint228024

Height of level (counted from 'surface' - 2nd lowest model level) where the temperature passes from positive to negative values, corresponding to the top level of a warm inversion layer. If a second warm inversion layer is encountered then the zero degree level correspond to the top of the 2nd inversion layer.

Note 'deg0l' is 'deg-zero-ell'.

Total column rain watertcrwkg m-2Gridpoint228089Vertically integrated precipitating rain water content
Total column snow watertcswkg m-2Gridpoint228090Vertically integrated precipitating snow water content
100 metre U wind component100um s-1Gridpoint228246
100 metre V wind component100vm s-1Gridpoint228247
K indexkxKGridpoint260121
Total totals indextotalxKGridpoint260123


Reset of accumulated fields

The default behaviour is for accumulated fields (in the tables above), to be accumulated from the start of the model forecast. It is possible to have these fields reset whenever they are output. To do this:

To reset accumulated fields at each post-processing, edit fort.4 and set:
&NAMPPC
       LRSACC=true,             ! reset accumulated fields to zero at model output frequency

So if output frequency (controlled by NFRPOS) is set to 6hrs, the accumulated variables are reset to zero every 6hr; if output frequency is 12hrs, the reset to zero happens 12rly and so on.

Note all accumulated variables are reset apart from the physical tendencies and fluxes in the PEXTRA output described below.

Physical tendencies and fluxes (budget) output (PEXTRA)

The physics code in IFS supports the output of 3D tendencies and fluxes for budget calculations. This works differently to the standard diagnostics above as additional namelist variables need to be set. It's typically known as the PEXTRA or LBUD23 model output.

This output is primarily a research tool and is not archived by ECMWF operational forecasts.  For that reason, some details of output fields may change between model releases. If in doubt, please check the appropriate code or contact openifs-support@ecmwf.int for assistance.

To enable this output, follow these steps.

Code

See src/ifs/phys_ec/callpar.F90 for more details on how the PEXTRA diagnostics are computed and stored.

Enable tendency fields output

The computation and storage of the tendencies in the physics model code first needs to be enabled by setting:

&NAEPHY
  LBUD23=true,        ! enable computation of physics tendencies and budget diagnostics

The tendency output is often referred to as 'lbud23' output.

Enable array sizes

All of the diagnostics fields need to be explicitly allocated array storage in the model code, unlike the standard diagnostics above where storage is already allocated in the model.

Do this by setting these namelist variables:

&NAMDPHY
   NVEXTR=25,                              ! set number of tendency output fields (see table)
   NCEXTR=<number of full model levels>,   ! edit to correctly set number of full model levels e.g. 60, 91, 137 etc       

NVEXTR should have a value that matches the number of requested GRIB codes in the MFP3DF* variables in NAMFPC (see below)

NCEXTR is set to 0 by default. It must be set to the number of full model levels.

Failure to correctly set NVEXTR, NCEXTR & NVEXTRAGB will cause the model to randomly crash as memory will be overwritten.

Define GRIB codes for tendency fields

The tendency fields are not standard model output. They therefore need to explicitly have GRIB codes defined for them.

ECMWF use the GRIB codes 91 to 115 inclusive (see table below) for the code provided in OpenIFS. These GRIB codes are empty in GRIB table 128.  Other GRIB codes can be used but only if they are not already assigned. The list of GRIB parameters can be found here.

To set GRIB codes for these tendency fields:

&NAMPHYDS
    NVEXTRAGB(1:25)=91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,  ! define GRIB codes for the tendency fields

If the tendency code (in ifs/phys_ec/callpar.F90) is modified to introduce extra fields, they must also have GRIB codes defined.

As these codes are not WMO standard, they do not have shortName or longName attributes and can only be referenced by their GRIB code (as set in NVEXTRAGB) in the model output GRIB file.

Note that defining the GRIB codes does not enable their output from the model. This must be done using the NAMFPC namelist (see below).

Available tendency and flux fields

The following table provides the list of configured fields in OpenIFS. Note that these are subject to possible change between model versions.

Download this table: Tendency_3D.pdf

Field (3D on model levels)
Note fluxes and tendencies are accumulated.

Units


Grib Code
(Table 128)

Field position
(see callpar.F90)

u-tendency (dU/dt) from explicit dynamicsm/s2 * s911
v-tendency (dV/dt) from explicit dynamicsm/s2 * s922
T-tendency (dT/dt) from explicit dynamicsK/s * s933
q-tendency (dq/dt) from explicit dynamicskg/kg/s * s944
T-tendency (dT/dt) from radiationK/s * s955

u-tendency (dU/dt) from vertical diffusion + gravity wave drag + surf processes

m/s2 * s966

v-tendency (dV/dt) from vertical diffusion + gravity wave drag + surf processes

m/s2 * s977

T-tendency (dT/dt) from vertical diffusion + gravity wave drag + surf processes

K/s * s988

q-tendency (dq/dt) from vertical diffusion + gravity wave drag + surf processes

kg/kg/s * s999

u-tendency (dU/dt) of gravity wave drag
(including non-orographic)

m/s2 * s10010

v-tendency (dV/dt) of gravity wave drag
(including non-orographic)

m/s2 * s10111

T-tendency (dT/dt) of gravity wave drag
(including non-orographic) = dissipation wave breaking

K/s * s10212
u-tendency (dU/dt) from convectionm/s2 * s10313
v-tendency (dV/dt) from convectionm/s2 * s10414
T-tendency (dT/dt) from convectionK/s * s10515
q-tendency (dq/dt) from convectionkg/kg/s * s10616
Precip. flux from convection (liquid)kg/(m2 s) * s10717
Precip. flux from convection (ice)kg/(m2 s) * s10818
T-tendency (dT/dt) from cloud and semi-Lagrangian (SL) physics.K/s * s10919

q-tendency (dq/dt) from cloud and SL phys. and negative humidity correction

kg/kg/s * s11020

Cloud water tendency (dql/dt) from cloud & vert. diff (with GWD and surf)

kg/kg/s * s11121

Cloud ice tendency (dqi/dt) from cloud & vert. diff (with GWD and surf)

kg/kg/s * s11222
Precip. flux from cloud scheme (liquid)kg/(m2 s) * s11323
Precip. flux from cloud scheme (ice)kg/(m2 s) * s11424
2D fields contained in a single 3D model field (see table below)
11525


2D fields contained in single 3D model fieldUnitGrib code 115
Convective cloud topModel level numberOutput model level 1
Convective cloud baseModel level numberlevel 2
Convection type1=deep; 2=shallow; 3=mid-levellevel 3
Occurrence of deep convectionCounts (maximum count = number of timesteps)level 4
Occurrence of shallow convectionCounts (max count = no. of timesteps)level 5
Occurrence of mid-level convectionCounts (max count = no. of timesteps)level 6
PBL top heightmetreslevel 7
PBL type0, 1, 2, 3level 8
Occurrence PBL type 0Countslevel 9
Occurrence PBL type 1Countslevel 10
Occurrence PBL type 2Countslevel 11
Occurrence PBL type 3Countslevel 12

Request tendency output using NAMFPC

Finally request the output of these fields, via their GRIB codes, in the normal way by using the variables in the NAMFPC namelist. You do not need to output all of the variables, but you must define all the grib codes as the model code will write to all the internal arrays.

For example, to output the u, v & T tendency from convection on model levels, add their GRIB codes to:

&NAMFPC
    MFP3DFS=....,103,104,105,....,            ! Add u,v & T convective tendency output. Remember to add 3 to NFP3DFS

Notes

  1. It is advisable to output the tendency & flux fields on model levels only. If other output on other levels are selected, interpolations will be performed which may incorrectly represent the information.
  2. All parameters are accumulated from the beginning of the forecast.
  3. The precipitation fluxes are appropriate to the half level below the actual output full level. It is therefore advisable not to request these fields on any other type of level other than model level as the FULLPOS post-processing software is not aware they are shifted.
  4. The tendencies from dynamics are composed of the explicit right-hand-side (RHS) of the equations and advection terms. The RHS is further stabilized by off-centred non-linear residual in order to comply with the time step discretization scheme used in the IFS (SETTLS). To a first approximation however, this can be neglected. Therefore, unfortunately, there is no tendency for the advection only.
  5. The q-tendency (position 9) (similarly to fields in position 6-8) contains the tendency obtained by joint vertical diffusion orographic GWD processes and surface scheme solver.
  6. The fields 10 and 11 for momentum variables contains exclusively the part of GWD scheme from the previously mentioned joint solver (so there is some duplication here with the tendencies 6 and 7) plus the contribution from non-orographic GWD scheme.


Spectral fitting of dynamic fields

By default the model will post-process surface or upper-air dynamically fields on pressure, theta or PV levels 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.

Although spectral fitting is the model default, the namelist variables do not normally need changing. The NAMFPC namelist variables are:

CY40+CY38Description
NFITPLFITPenables/disables spectral fitting of post-processed fields on pressure levels.
NFITTLFITTenables/disables spectral fitting of post-processed fields on theta levels.
NFITVLFITVenables/disables spectral fitting of post-processed fields on PV levels.
NFITILFITIenables/disables spectral fitting of post-processed fields on temperature levels.
NFITHN/Aenables/disables spectral fitting of post-processed fields on height levels.
NFITSN/Aenables/disables spectral fitting of post-processed fields on eta levels.

If NFIT* = 0 (LFIT*=false for CY38), then no spectral fitting is done. See the code in ifs/fullpos/sufpc.F90 and ifs/module/yomfpc.F90 to check defaults for each model release.

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.

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: 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'.

LFPSPEC - (cycle 38 only) if TRUE post-processed dynamical fields are written out as spectral coefficients. If FALSE, they are written as grid-point fields.

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 FULLPOS namelist

Download an example, annotated, NAMFPC namelist to see how to configure OpenIFS output.

Single column model

Note, the single column model doesn't use Full-Pos for output.

Links to more information on GRIB...




 



Code Hints

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

Dynamic output fields are defined in:
  ifs/setup/suafn1.F90
using the TFP_SU function.

Gridpoint output fields are defined in:
  ifs/setup/suafn1.F90

using the GFP_SU function.














































































































































































































































































































































































Potential vorticity and theta surfaces

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.