Vertical wind

Calculation of vertical velocity and preparation of output files

Two methods are provided in flex_extract for the calculation of the vertical velocity for FLEXTRA/FLEXPART:

  1. from the horizontal wind field,

  2. from the MARS parameter 77, which is available for operational forecasts and analyses since September 2008 and for reanalysis datasets ERA5 and CERA-20C, which contains the vertical velocity directly in the eta coordinate system of the ECMWF model.

Especially for high resolution data, use of the MARS parameter 77 is recommended, since the computational cost (measured in ECMWF HPC units) is reduced by 90-95% at T799. The extraction time, which depends heavily also on the performance of MARS, is generally reduced by 50% as well. The MARS parameter 77 is then multiplied by dp/deta to give a vertical velocity in Pa/s as needed by FLEXPART.

Calculation from the horizontal wind field is still required for historical case studies using ERA-40, ERA-Interim or operational data prior to September 2008.

Calculation of the vertical velocity from the horizontal wind using the continuity equation

The vertical velocity in the ECMWF’s eta vertical coordinate system is computed by the Fortran program calc_etadot, using the continuity equation and thereby ensuring mass-consistent 3D wind fields. A detailed description of calc_etadot can be found in the documents v20_update_protocol.pdf, V30_update_protocol.pdf and V40_update_protocol.pdf. The computational demand and accuracy of calc_etadot is highly dependent on the specification of parameters GAUSS, RESOL and SMOOTH. The following guidance can be given for choosing the right parameters:

  • For very fine output grids (0.25 degree or finer), the full resolution T799 or even T1279 of the operational model is required (RESOL=799, SMOOTH=0). The highest available resolution (and the calculation of vertical velocity on the Gaussian grid (GAUSS=1) is, however, rather demanding and feasible only for resolutions up to T799. Higher resolutions are achievable on the HPC. If data retrieval at T1279 needs to be performed on ecgate, the computation of the vertical velocity is feasible only on the lat/lon grid (GAUSS=0), which also yields very good results. Please read document v20_update_protocol.pdf-v60_update_protocol.pdf to see if the errors incurred are acceptable for the planned application.

  • For lower resolution (often global) output grids, calculation of vertical velocities with lower than operational spectral resolution is recommended. For global grids the following settings appear optimal:

    • For 1.0 degree grids: GAUSS=1, RESOL=255, SMOOTH=179

    • For 0.5 degree grids: GAUSS=1, RESOL=399, SMOOTH=359

    • Calculation on the lat/lon grid is not recommended for less than the operational (T1279) resolution.

    • If GAUSS is set to 1, only the following choices are possible for RESOL on ecgate: 159,255,319,399,511,799, (on the HPC also 1279; 2047 in future model versions). This choice is restricted because a reduced Gaussian grid is defined in the ECMWF EMOSLIB only for these spectral resolutions. For GAUSS=0, RESOL can be any value below the operational resolution.

    • For SMOOTH, any resolution lower than RESOL is possible. If no smoothing is desired, SMOOTH=0 should be chosen. SMOOTH has no effect if the vertical velocity is calculated on a lat/lon grid (GAUSS=0).

  • The on-demand scripts send an error message for settings where SMOOTH (if set) and RESOL are larger than 360./GRID/2, since in this case, the output grid cannot resolve the highest wave numbers. The scripts continue operations, however.

  • Regional grids are not cyclic in zonal directions, but global grids are. The software assumes a cyclic grid if RIGHT-LEFT is equal to GRID or is equal to GRID-360.

  • Finally, model and flux data as well as the vertical velocity computed are written to files <prefix>yymmddhh (the standard flex_extract output files) If the parameters OMEGA or OMEGADIFF are set, also files OMEGAyymmddhh are created, containing the pressure vertical velocity (omega) and the difference between omega from MARS and from the surface pressure tendency. OMEGADIFF should be set to zero except for debugging, since it triggers expensive calculations on the Gaussian grid.

Calculation of the vertical velocity from the pre-calculated MARS parameter 77

Since November 2008, the parameter 77 (deta/dt) is stored in MARS on full model levels. FLEXTRA/FLEXPART in its current version requires deta/dt on model half levels, multiplied by dp/deta. In flex_extract, the program calc_etadot assumes that parameter 77 is available if the CONTROL parameter ETA is set to 1.

It is recommended to use the pre-calculated parameter 77 by setting ETA to 1 whenever possible.

Setting the parameter ETA to 1 disables calculation of vertical velocity from the horizontal wind field, which saves a lot of computational time.


However, the calculations on the Gaussian grid are avoided only if both GAUSS and ETADIFF are set to 0. Please set ETADIFF to 1 only if you are really need it for debugging since this is a very expensive option. In this case, ETAyymmddhh files are produced that contain the vertical velocity from horizontal winds and the difference to the pre-calculated vertical velocity.

The parameters RESOL, GRID, UPPER, LOWER, LEFT, RIGHT still apply. As for calculations on the Gaussian grid, the spectral resolution parameter RESOL should be compatible with the grid resolution (see previous subsection).