/[lmdze]/trunk/Sources/phylmd/Thermcell/thermcell.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/Thermcell/thermcell.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/phylmd/Thermcell/thermcell.f revision 105 by guez, Thu Sep 4 10:40:24 2014 UTC trunk/Sources/phylmd/Thermcell/thermcell.f revision 157 by guez, Mon Jul 20 16:01:49 2015 UTC
# Line 8  contains Line 8  contains
8         po, pduadj, pdvadj, pdtadj, pdoadj, fm0, entr0, r_aspect, l_mix, w2di, &         po, pduadj, pdvadj, pdtadj, pdoadj, fm0, entr0, r_aspect, l_mix, w2di, &
9         tho)         tho)
10    
11      ! Calcul du transport vertical dans la couche limite en présence      ! Calcul du transport vertical dans la couche limite en pr\'esence
12      ! de "thermiques" explicitement représentés. Récriture à partir      ! de "thermiques" explicitement repr\'esent\'es. R\'ecriture \`a partir
13      ! d'un listing papier à Habas, le 14/02/00. Le thermique est      ! d'un listing papier \`a Habas, le 14/02/00. Le thermique est
14      ! supposé homogène et dissipé par mélange avec son      ! suppos\'e homog\`ene et dissip\'e par m\'elange avec son
15      ! environnement. La longueur "l_mix" contrôle l'efficacité du      ! environnement. La longueur "l_mix" contr\^ole l'efficacit\'e du
16      ! mélange. Le calcul du transport des différentes espèces se fait      ! m\'elange. Le calcul du transport des diff\'erentes esp\`eces se fait
17      ! en prenant en compte :      ! en prenant en compte :
18      ! 1. un flux de masse montant      ! 1. un flux de masse montant
19      ! 2. un flux de masse descendant      ! 2. un flux de masse descendant
20      ! 3. un entraînement      ! 3. un entra\^inement
21      ! 4. un détraînement      ! 4. un d\'etra\^inement
22    
23      USE dimphy, ONLY : klev, klon      USE dimphy, ONLY : klev, klon
24      USE suphec_m, ONLY : rd, rg, rkappa      USE suphec_m, ONLY : rd, rg, rkappa
# Line 46  contains Line 46  contains
46      ! local:      ! local:
47    
48      INTEGER ig, k, l, lmaxa(klon), lmix(klon)      INTEGER ig, k, l, lmaxa(klon), lmix(klon)
     real zsortie1d(klon)  
49      ! CR: on remplace lmax(klon, klev+1)      ! CR: on remplace lmax(klon, klev+1)
50      INTEGER lmax(klon), lmin(klon), lentr(klon)      INTEGER lmax(klon), lmin(klon), lentr(klon)
51      real linter(klon)      real linter(klon)
52      real zmix(klon), fracazmix(klon)      real zmix(klon), fracazmix(klon)
53    
54      real zmax(klon), zw, zz, zw2(klon, klev+1), ztva(klon, klev), zzz      real zmax(klon), zw, zw2(klon, klev+1), ztva(klon, klev)
55    
56      real zlev(klon, klev+1), zlay(klon, klev)      real zlev(klon, klev+1), zlay(klon, klev)
57      REAL zh(klon, klev), zdhadj(klon, klev)      REAL zh(klon, klev), zdhadj(klon, klev)
58      REAL ztv(klon, klev)      REAL ztv(klon, klev)
59      real zu(klon, klev), zv(klon, klev), zo(klon, klev)      real zu(klon, klev), zv(klon, klev), zo(klon, klev)
     REAL wh(klon, klev+1)  
     real wu(klon, klev+1), wv(klon, klev+1), wo(klon, klev+1)  
60      real zla(klon, klev+1)      real zla(klon, klev+1)
61      real zwa(klon, klev+1)      real zwa(klon, klev+1)
62      real zld(klon, klev+1)      real zld(klon, klev+1)
     real zwd(klon, klev+1)  
     real zsortie(klon, klev)  
63      real zva(klon, klev)      real zva(klon, klev)
64      real zua(klon, klev)      real zua(klon, klev)
65      real zoa(klon, klev)      real zoa(klon, klev)
# Line 102  contains Line 97  contains
97      real entr_star_tot(klon), entr_star2(klon)      real entr_star_tot(klon), entr_star2(klon)
98      real f(klon)      real f(klon)
99      real zlevinter(klon)      real zlevinter(klon)
     logical first  
     data first /.false./  
     save first  
   
     character(len=2) str2  
     character(len=10) str10  
   
     LOGICAL vtest(klon)  
100    
101      EXTERNAL SCOPY      EXTERNAL SCOPY
102    
     integer ncorrec  
     save ncorrec  
     data ncorrec/0/  
   
103      !-----------------------------------------------------------------------      !-----------------------------------------------------------------------
104    
105      ! initialisation:      ! initialisation:
# Line 422  contains Line 405  contains
405    
406      ! calcul de la largeur de chaque ascendance dans le cas conservatif.      ! calcul de la largeur de chaque ascendance dans le cas conservatif.
407      ! dans ce cas simple, on suppose que la largeur de l'ascendance provenant      ! dans ce cas simple, on suppose que la largeur de l'ascendance provenant
408      ! d'une couche est égale à la hauteur de la couche alimentante.      ! d'une couche est \'egale \`a la hauteur de la couche alimentante.
409      ! La vitesse maximale dans l'ascendance est aussi prise comme estimation      ! La vitesse maximale dans l'ascendance est aussi prise comme estimation
410      ! de la vitesse d'entrainement horizontal dans la couche alimentante.      ! de la vitesse d'entrainement horizontal dans la couche alimentante.
411    
# Line 447  contains Line 430  contains
430         enddo         enddo
431      enddo      enddo
432    
433      ! calcul de la fraction de la maille concernée par l'ascendance en tenant      ! calcul de la fraction de la maille concern\'ee par l'ascendance en tenant
434      ! compte de l'epluchage du thermique.      ! compte de l'epluchage du thermique.
435    
436      !CR def de zmix continu (profil parabolique des vitesses)      !CR def de zmix continu (profil parabolique des vitesses)

Legend:
Removed from v.105  
changed lines
  Added in v.157

  ViewVC Help
Powered by ViewVC 1.1.21