Vdifc mod
IMPORTANT: This page concerns the vdifc routine in the Mars physics package (by the way the latest version may be checked here on the trac: https://trac.lmd.jussieu.fr/Planeto/browser/trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F)
Contents
Overview of the vdifc routine
Vdifc is a Fortran routine used to compute the turbulent diffusion for the temperature, the wind (U and V, horizontal wind only) and all tracers. It works in a implicit fashion as it actually solves the following equation :
x(t+1) = x(t) + dt * (dx/dt)phys(t) + dt * (dx/dt)difv(t+1)
Authorship : Hourdin/Forget/Fournier
Naming convention of the variables
As this routine is very ancient, it has been written using the old convention for variables. At first sight they seem hard to read but their nomenclature is very straightforward :
- All variables coming from an upper-level subroutine are preceded by the letter "p". This includes output variables in vdifc like "pdudif(ngrid,nlay),pdvdif(ngrid,nlay),pdqdif(ngrid,nlay,nq),pdqsdif(ngrid,nq)" and others. - All local variables are preceded by the letter "z". Those are variables used specifically in vdifc_mod, such as "ztrsf" for the treatment of surface water ice, or "za, zb, zc, zq1temp" for the implicit scheme. - The routine computes tendencies which are later added to the physical variables outside of vdifc_mod, in physiq_mod.F. The tendency variables are named with the suffix "dif" such as "pdudif(ngrid,nlay), dwatercap_dif(ngrid,nlay)". This is specific to vdifc.
Exhaustive inventory of variables used in vdifc_mod.F
Someone do something about za, zb, zc...