Input : '====== ni: indice horizontal sur la grille de base, non restreinte nsrf: type de surface ngrid: nombre de mailles concern??es sur l'horizontal dt : pas de temps g : g rconst: constante de l'air sec zlev : altitude a chaque niveau (interface inferieure de la couche de meme indice) zlay : altitude au centre de chaque couche u,v : vitesse au centre de chaque couche (en entree : la valeur au debut du pas de temps) teta : temperature potentielle virtuelle au centre de chaque couche (en entree : la valeur au debut du pas de temps) cd : cdrag pour la quantit?? de mouvement (en entree : la valeur au debut du pas de temps) ustar: vitesse de friction calcul??e par une formule diagnostique iflag_pbl: flag pour choisir des options du sch??ma de turbulence
iflag_pbl doit valoir entre 6 et 9
l=6, on prend systematiquement une longueur d'equilibre
iflag_pbl=6 : MY 2.0
iflag_pbl=7 : MY 2.0.Fournier
iflag_pbl=8/9 : MY 2.5
iflag_pbl=8 with special obsolete treatments for convergence
with Cmpi5 NPv3.1 simulations
iflag_pbl=10/11 : New scheme M2 and N2 explicit and dissiptation exact
iflag_pbl=12 = 11 with vertical diffusion off q2
2013/04/01 (FH hourdin@lmd.jussieu.fr)
Correction for very stable PBLs (iflag_pbl=10 and 11)
iflag_pbl=8 converges numerically with NPv3.1
iflag_pbl=11 -> the model starts with NP from start files created by ce0l
-> the model can run with longer time-steps.
2016/11/30 (EV etienne.vignon@lmd.ipsl.fr)
On met tke (=q2/2) en entr??e plut??t que q2
On corrige l'update de la tke
2020/10/01 (EV)
On ajoute la dissipation de la TKE en diagnostique de sortie
tke : tke au bas de chaque couche (en entree : la valeur au debut du pas de temps) (en sortie : la valeur a la fin du pas de temps)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Attention, yamada4_num=5 est inexacte car néglige les termes de flottabilité en conditions instables !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer | :: | ni(klon) | ||||
| integer | :: | nsrf | ||||
| integer | :: | ngrid | ||||
| real | :: | dt | ||||
| real | :: | g | ||||
| real | :: | rconst | ||||
| real | :: | plev(klon,klev+1) | ||||
| real | :: | temp(klon,klev) | ||||
| real | :: | zlev(klon,klev+1) | ||||
| real | :: | zlay(klon,klev) | ||||
| real | :: | u(klon,klev) | ||||
| real | :: | v(klon,klev) | ||||
| real | :: | teta(klon,klev) | ||||
| real | :: | cd(klon) | ||||
| real | :: | tke(klon,klev+1) | ||||
| real | :: | eps(klon,klev+1) | ||||
| real | :: | km(klon,klev+1) | ||||
| real | :: | kn(klon,klev+1) | ||||
| real | :: | kq(klon,klev+1) | ||||
| real | :: | ustar(klon) | ||||
| integer | :: | iflag_pbl | ||||
| real | :: | drgpro(klon,klev) |