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

Compare with Current View Page History

« Previous Version 3 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  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 variables

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.

Model variables may be output in 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:

Upper air dynamical fields (3D)

Long nameShort nameUnitsSpectral/gridpointGRIB code
Potential temperaturept Spectral3
Montgomery geopotentialmont Spectral53
Pressurepres Spectral54
Potential vorticitypv Gridpoint60
Eta-coordinate vertical velocityetadot Spectral77
Vertical velocity?  Spectral120
Geopotentialz Spectral129
Temperaturet Spectral130
U-velocityu Spectral131
V-velocityv Spectral132
Vertical velocityw Spectral135
Vorticity (relative)vo Spectral138
Divergenced Spectral155
Relative humidityr Spectral157
Vertical diffusion of humidity?vdh Spectral224
Humidity tendency by
large-scale condensation?
htcc Spectral225
Theta_prime_w?crnh Spectral227

 

Gridpoint fields - three dimensional

Table below the level types model variables can be output on:

Model variablesGRIB
paramid
EtaPressureThetaPot. Vorticity

Pot. temperature

3(tick)(tick) (tick)
Pot. vorticity60(tick)(tick)(tick) 
Pressure54   (tick)
Geopotential129   (tick)
Specific humidity133(tick)(tick)(tick)(tick)
Ozone mass mixing ratio203(tick)(tick)(tick)(tick)
Specific cloud liquid water content246(tick)(tick)(tick)(tick)
Specific cloud ice water content247(tick)(tick)(tick)(tick)
Cloud cover248(tick)(tick)(tick)(tick)
Specific rain water content75(tick)   
Specific snow water content76(tick)   
U-wind131   (tick)
V-wind132   (tick)

 

Spectral fields

Three-dimensional spectral output fields are:

Model variablesGRIB
paramid
EtaPressureThetaPot. Vorticity
Pressure54  (tick) 
Geopotential129 (tick)(tick)(tick)
Relative humidity157(tick)(tick)(tick)(tick)
Specific humidity133(tick)(tick)(tick)(tick)
Ozone mass mixing ratio203(tick)(tick)(tick)(tick)
Specific cloud liquid water content246(tick)(tick)(tick)(tick)
Specific cloud ice water content247(tick)(tick)(tick)(tick)
Cloud cover248(tick)(tick)(tick)(tick)
Relative vorticity138(tick)(tick)(tick)(tick)
Divergence155(tick)(tick)(tick)(tick)
Temperature130(tick)(tick)(tick)(tick)
Vertical velocity135(tick)(tick)(tick)(tick)

Tendencies can only be output on model levels:

Tendencies on model levels
Short wave radiationLong wave radiationClear sky short wave radiationClear sky long wave radiation
Updraught mass fluxDowndraught mass fluxUpdraught detrainment rateDowndraft detrainment rate
Total precipitation fluxTurbulent diffusion coeff for heatTemp. tendency due to physicsSpecific humidity tendency due to physics
U-wind component due to physicsV-wind component due to physics  
Two-dimensional spectral fieldsGRIB
paramid
Geopotential (orography)129
Log surface pressure152

 

Surface/2d fields

(to be done)

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