Gemclim 3.3.3.1 diffusion

Ce qui suit est un survol des différentes options d'éponges dans notre modèle. Je donnerai une brève description des options, de la routine qui fait le travail et du processus mis en place pour chacune des options.

Vrtd

Voici le commentaire qu'on trouve dans vrtd :

"Apply a background vertical diffusion on the horizontal momentum components u and v, and optionally theta, using an implicit time scheme."

Il s'agit d'une option codée par Sylvie Gravel pour la dynamique à partir de la routine difver6 de la physique, mais qui peux être utilisée sans faire appel aux paramétrages. C'est donc quelque chose qui sera utilisé dans des études de sensibilité de la dynamique et non pas à proprement parler une éponge. De plus, cette option s'applique sur toute la colonne atmosphérique et non pas seulement près du toit. On ne devrait donc pas l'utiliser normalement. Il y a deux clés associées à cette option: Vrtd_L (.false. par défaut) qui l'active et Vrtd_theta_L (aussi .false. par défaut) qui active les calculs sur la variable théta.

Vspng

Comments from Michel Desgagné

'nu' in the equation below should have a value of around 0.8.

nu = Vspng_coeftop*DT / (DX**2)

With DT beeing the timestep in seconds and DX the average grid size in meters one can now calculate Vspng_coeftop with:


Vspng_coeftop = 0.8 / DT * (DX**2)


Vspng_nk should not get set to a value smaller than 6, so:

Vspng_nk = 6


Comments from Bernard:

Voici le commentaire qu'on trouve dans vspng_main :

"Applies horizontal diffusion with vertical modulation of the diffusion coefficient on Vspng_nk top levels via

    (a) del-2 horizontal diffusion used for non-LAM (vspng_drv)

    (b) 9 point explicit filter used for LAM (vspng_drv_lam)"

Pour le mode GLOBAL

Voici la description des paramètres utilisés dans vspng_drv :

"The diffusion coefficients are (Cstv_uvdf_8*Cstv_dt_8) for the horizontal momentum and (Cstv_phidf_8*Cstv_dt_8) for all other variables."

Paramètres pertinentes :

Pour le mode LAM

Voici la description des paramètres utilisés dans la routine vspng_drv_lam :

do k=1,Vspng_nk
    Vspng_nu(k) = Vspng_nutop/max( 1.,Vspng_niter ) * ( sin( (pi/2) * ( hybm(Vspng_nk)-hybm(k) ) / ( hybm(Vspng_nk)-hybm(1) ) ) **2
end do

où hybm est la valeur non-normalisée de la coordonnée verticale (i.e. GEM2). Le premier niveau du modèle étant au toit, ce vecteur est seulement défini pour les premier Vspng_nk niveaux.

Hspng

Voici le commentaire qu'on trouve dans hspng_main :

"Applies del-2 horizontal diffusion on the poles for Hspng_nj (=0 par défaut) rows with the diffusion coefficient Hspng_mf (=800. par défaut)".

De plus, le paramètre Hzd_difva_L est aussi utilisé ici. Et le paramètre Hspng_uvwdt_L a le même sens que Vspng_rwnd_L pour l'éponge Vspng. Notons que cette troisième variante d'éponge n'est pas active en mode LAM. De même, dans mon setup GLOBAL, on trouvera que "Hspng_mf=0" et "Hspng_nj=0".

Vlsp

 Une diffusion verticale amplifiée appliquée par la physique sur le momentum près de l'équateur. Ce qui suit s'applique au mode GLOBAL.

Les paramètres suivant contrôlent ce processus...

Tout d'abord du côté de la dynamique, ceux utilisés dans la routine itf_phy_vlsp et leur valeur par défaut :

Dans mon setup GLOBAL, je définis P_lmvd_valml_8=0.0, ce qui limite strictement les valeurs non-nulles du champs P_lmvd_vlsp qui sera calculé dans itf_phy_vlsp à un canal équatorial. Ce P_lmvd_vlsp sera ensuite transféré à eponmod dans le bus dynamique de la physique. La routine difver6 appellera cette variable SPONMOD ("sponge modulation factor").

Dans le mode LAM, aucun des calculs précédents n'est effectués et la variable eponmod du bus dynamique est simplement initialisé à 1. Il n'y a donc pas de rampe géographique séparant les positions où cette diffusion amplifiée sera appliquée ou non.

De son côté, la physique lira comme paramètre le vecteur EPONGE dans son namelist. Le nombre d'éléments lus déterminera la profondeur de cette éponge, i.e. lorsque "EPONGE*SPONMOD > 0.", on utilisera le maximum de ce produit et du coefficient local de diffusion momentum dans les calculs subséquents. Les valeurs placées dans EPONGE sont général de "grandes" valeurs. Par défaut, EPONGE=0.

On comprendra donc que dans le mode LAM, seule la variable EPONGE contrôle l'application de cette éponge: Il n'a pas de restriction géographique à son application.


Auteur: Bernard Dugas
Dernière révision: Septembre 2014