Vdifc mod

From Planets
Revision as of 16:47, 13 February 2023 by Jdog.naar (talk | contribs) (Description of the turbulent diffusion scheme in the Mars PCM)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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...


Explanation of the subtimestep for water ice condensation/sublimation