(with thanks to Michail Diamantakis)
For global mass conservation of air the following settings should be added in namelists:
&NAMDYN LMASCOR=true, LMASDRY=true,
(the above fixes the dry air mass only and leaves the fluctuation in the total mass due to moist parametrizations - this preserves the annual water cycle signal which would otherwise be removed by fixing the total mass. ERA-Interim also use these settings.)
The above turn on the spectral mass fixer.
&NAMCT0 NFRMASSCON=1,
(the above specifies that the mass fixer will be applied every step)
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.
&NAMGFL YS_NL%LMASSFIX=true, YR_NL%LMASSFIX=true, YI_NL%LMASSFIX=true, YL_NL%LMASSFIX=true, YQ_NL%LMASSFIX=true, LTRCMFIX=true,
the above activates and controls the tracer mass fixer. It applies it on spec humidity, cloud water, cloud ice, cloud rain, cloud snow: YQ_NL, YL_NL, YI_NL, YR_NL, YS_NL IFS variables respectively.
An additional small code modification is needed in : ifs/control/tracmf.F90
Uncomment lines 112, 113, 114, 115,
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
These enable mass fixers that work in gridpoint space on the above variables.
At 38r1 I think we could use another more sophisticated fixer, however, it isn't quasi-monotone or positive definite and may create temporarily negatives. Lot more work has been done on mass fixers at later versions.