yamada4 Subroutine

subroutine yamada4(ni, nsrf, ngrid, dt, g, rconst, plev, temp, zlev, zlay, u, v, teta, cd, tke, eps, km, kn, kq, ustar, iflag_pbl, drgpro)

Uses

  • proc~~yamada4~~UsesGraph proc~yamada4 yamada4 module~phys_local_var_mod phys_local_var_mod proc~yamada4->module~phys_local_var_mod module~yamada_ini_mod~2 yamada_ini_mod proc~yamada4->module~yamada_ini_mod~2 module~dimphy~3 dimphy proc~yamada4->module~dimphy~3 module~lmdz_cppkeys_wrapper lmdz_cppkeys_wrapper module~phys_local_var_mod->module~lmdz_cppkeys_wrapper iso_fortran_env iso_fortran_env module~lmdz_cppkeys_wrapper->iso_fortran_env netcdf netcdf module~lmdz_cppkeys_wrapper->netcdf

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

Inpout/Output :

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

Arguments

Type IntentOptional 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)

Calls

proc~~yamada4~~CallsGraph proc~yamada4 yamada4 proc~abort_physic abort_physic proc~yamada4->proc~abort_physic proc~mixinglength mixinglength proc~yamada4->proc~mixinglength proc~vdif_q2 vdif_q2 proc~yamada4->proc~vdif_q2 histclo histclo proc~abort_physic->histclo proc~mpi_abort MPI_ABORT proc~abort_physic->proc~mpi_abort restclo restclo proc~abort_physic->restclo getin_dump getin_dump proc~abort_physic->getin_dump proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_abort->proc~lmdz_mpi_wrapper_abort

Called by

proc~~yamada4~~CalledByGraph proc~yamada4 yamada4 proc~coef_diff_turb coef_diff_turb proc~coef_diff_turb->proc~yamada4 proc~coef_diff_turb~2 coef_diff_turb proc~coef_diff_turb~2->proc~yamada4 proc~pbl_surface pbl_surface proc~pbl_surface->proc~coef_diff_turb proc~pbl_surface~2 pbl_surface proc~pbl_surface~2->proc~coef_diff_turb proc~physiq physiq proc~physiq->proc~pbl_surface proc~physiq~2 physiq proc~physiq~2->proc~pbl_surface proc~old_lmdz1d old_lmdz1d proc~old_lmdz1d->proc~physiq proc~call_physiq call_physiq proc~call_physiq->proc~physiq proc~call_physiq~2 call_physiq proc~call_physiq~2->proc~physiq proc~scm scm proc~scm->proc~physiq program~lmdz1d lmdz1d program~lmdz1d->proc~old_lmdz1d program~lmdz1d->proc~scm proc~calfis calfis proc~calfis->proc~call_physiq proc~leapfrog leapfrog proc~leapfrog->proc~calfis program~gcm~2 gcm program~gcm~2->proc~leapfrog

Contents