Nudging in LMDZ

De LMDZPedia
Aller à : navigation, rechercher

The concept

For indepth explanations, see this doc in French (dated 2009, some code details are obsolete): https://lmdz.lmd.jussieu.fr/le-coin-des-developpeurs/notes-techniques/ressources/guidage_LMDZ.pdf

Nudging is simply adding a forcing term to the GFD equation governing a variable $$V$$ to drive it towards a known value $$V_{analysis}$$ over a given time scale $$\tau$$: \begin{align} \frac{\partial V}{\partial t} = \frac{\partial V}{\partial t}_{GCM} + \frac{V_{analysis}-V}{\tau} \end{align} Where $$V$$ can be zonal wind u, meridional wind v, relative humidity Q, pressure P or temperature T

Nudging is often used in conjunction with zoomed configurations, where strong nudging towards reanalyses in enforced outside the zoomed region.

Nudging parameters in LMDZ

The master parameter to turn nudging on is ok_guide (most often all nudging parameters are put in a guide.def file included in run.def) which must be set to "y" (or equivalently ".true."):

ok_guide = y

("guide" means "nudge" in French).

Then one must select which fields will be nudged via the guide_* parameters:

guide_u=y
guide_v=y
guide_T=y
guide_P=n
guide_Q=n

In the example above, nudging is done on horizontal winds (u,v) and on temperature (T) only.

In addition, the user must provide two time scales $\tau$, for each of the nudged variables; one for the inner zoom area tau_max_* and another relative to outside the zoomed area tau_min_*. These time scales are stated in unit of days, e.g.

tau_min_u= 0.0208333
tau_max_u= 10.
tau_min_v= 0.0208333
tau_max_v= 10.
tau_min_T= 0.0208333
tau_max_T= 10.

In this example all 3 variables are nudged with a time scale of 10 days, i.e very loosely, within the zoomed region and a time scale of 30 minutes (30.*60/86400.= 0.0208333), i.e. very strongly, outside the zoomed region.

Caution:

Ne pas confondre constante de rappel et fréquence d'appel au guidage

Quand on guide :

  1. On lit les champs typiquement toutes les 6 heures (suivant la disponibiité des champs de guidage).
  2. On interpole linéairement en temps les champs de guidage.
  3. On rappelle à chaque pas de temps vers ces champs interpolés avec une constante définie dans guide.def avec les tau_min tau_max.

mais "je nudge à chaque pas de temps".

Nudging files

In addition to stating which variable is nudged and the related time scales, one must provide the fields towards which to nudge (these must be on the same grid as the simulation and must be created separately, e.g. using a re-interpolation of ERA-interim files). These files must be in the directory where LMDZ runs and must be called u.nc, v.nc, T.nc, etc.

To create these files see Création des fichiers de guidage et adaptation de l'exécution

Nudging contribution output

One can request that the nudging term be stored in an output file, guide_ins.nc by setting (in guide.def):

guide_sav=y


Notes

Nudging towards the wind zonal mean

Quelques précisions :

  • Par défaut, on lit un état de guidage 4x / jour, pareil pour l'interpolation sur les niveaux du modèle. Mais ça peut être modifié (paramètres iguide_read, iguide_int).
  • Il y a une option au cas où (guide_2D) pour lire un état de guidage 2D (latitude - Pression) et pas 3D.
  • L'option guide_zon veut dire qu'on a un terme de rappel qui est uniforme suivant les longitudes :
    • on calcule (u-ug) en chaque point
    • puis on fait la moyenne zonale de ce nudging. ug n'est pas forcément symétrique ici, mais comme c'est linéaire...

Attention aux interférences avec guide_reg, le plus simple étant peut-être de commenter les lignes "if guide_reg..." dans la routine guide_zonave. Ne pas confondre constante de rappel et fréquence d'appel au guidage

Nudging towards surface pressure

Il faut probablement restreindre le guidage en pression de surface à l'océan pour éviter d'injecter plein de modes de gravités liés au déséquilibre hydrostatique qui sera nécessairement engendré par le fait que le relief vu par les analyses est différent de celui du modèle.


2022/05/16