Mass conservation

OpenIFS (IFS) does not formally conserve mass. The change in mass is small but needs correcting if using OpenIFS for long integrations, or with chemistry/aerosol modelling.

The version of OpenIFS based on Cycle 38r1 has a limited set of "mass-fixers" available. More recent versions of IFS have improved options for mass conservation.

Types of mass fixers

In OpenIFS 38r1 there are only global mass fixers available. The first ensures conservation of the global model mass by using the spectral characteristics of the model. The second method (enabled by some code changes detailed below) is also global and works in gridpoint space only on tracer quantities.

Global mass fixer

For global mass conservation of air the following settings should be added or enabled in the namelist file (fort.4):

&NAMDYN
   LMASCOR=true,
   LMASDRY=true,
&NAMCT0
   NFRMASSCON=1,

LMASCOR enables the global mass conservation by ensuring the global mass before and after a timestep remains the same.

LMASDRY ensures the mass conservation applies only to the dry air mass. This is done to ensure that the annual water cycle signal is unaffected by the mass correction. If this option is set false the mass correction is done to the total air mass (dry+water vapour). Note that the ERA-Interim reanalyses used LMASDRY=true.

NFRMASSCON is the frequency at which the mass fix is applied. The above example enables it at every timestep. It must be set as the default is set to a very large number (i.e. it's default is to effectively disable it).!

Mass correction for moisture and tracer variables

A further global mass fixer can also be applied to correct the moisture variables and any tracers (if used). Note that this fixer can be used together with the spectral mass fixer above or independently.

To enable it, ensure the following namelist variables are set:

&NAMGFL
   YS_NL%LMASSFIX=true,
   YR_NL%LMASSFIX=true,
   YI_NL%LMASSFIX=true,
   YL_NL%LMASSFIX=true,
   YQ_NL%LMASSFIX=true,
   LTRCMFIX=true,

The model applies the fix to the specific humidity, cloud water, cloud ice, cloud rain, cloud snow: YQ_NL, YL_NL, YI_NL, YR_NL, YS_NL IFS variables respectively.

112		!LTRCMFP=.TRUE.  ! proportional 
113		!LTRCMFA_LAP=.FALSE.  ! additive based on hor. Laplace
114		!LTRCMFA_VER=.FALSE.  ! additive based on vert. Lapace
115		!LTRCMFA_DIF=.FALSE.   ! additiva based on abs gradient

Mass diagnostics

OpenIFS 38r1 does not include any code to output the changes to the global model mass. A small set of code changes is available which add a diagnostic output. If you would like these code changes, please contact: openifs-support@ecmwf.int.  This code is available in later OpenIFS versions.

 


On this page...

 

 

Further reading

Global mass fixer algorithms for conservative tracer transport in the ECMWF model,
M. Diamantakis and J. Flemming,
GeoSci. Model Dev., 7, 2014

 

 

Acknowledgement

Dr Michail Diamantakis, research department, ECMWF,  provided much of the information on this page.

3 Comments

  1. OpenIFS 43r3 also includes the variable LTRCMFIX_PS, and the lines above are not commented in the code. LTRCMFP=False in the code.
    Will using the above namelist settings and LTRCMFIX_PS=true be enough to use mass fixers, or are any code changes needed too?

    Cheers
    Joakim

  2. Joakim Kjellsson please see this forum entry (created by you some years ago) with up-to-date information for 43r3: Recommendations for mass fixers in OpenIFS?

    I think it is is the OpenIFS team's plans to update this documentation for 43r3.

    1. Hi Etienne

      Thanks for the tip. I had not seen that the post got updated with some more stuff.

      I noticed that my 40-year AMIP run lost 60 hPa of global-mean surface pressure over time, so I need to dig into the dry mass fixers at least... (wink)

      Cheers
      Joakim