/[lmdze]/trunk/Sources/phylmd/phystokenc.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/phystokenc.f

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

revision 61 by guez, Fri Apr 20 14:58:43 2012 UTC revision 62 by guez, Thu Jul 26 14:37:37 2012 UTC
# Line 10  contains Line 10  contains
10    
11      ! From phylmd/phystokenc.F, version 1.2 2004/06/22 11:45:35      ! From phylmd/phystokenc.F, version 1.2 2004/06/22 11:45:35
12      ! Author: Frédéric Hourdin      ! Author: Frédéric Hourdin
13      ! Objet: moniteur général des tendances traceurs                              ! Objet : moniteur général des tendances traceurs                        
14    
15      USE histwrite_m, ONLY : histwrite      USE histwrite_m, ONLY : histwrite
16      USE histsync_m, ONLY : histsync      USE histsync_m, ONLY : histsync
# Line 25  contains Line 25  contains
25    
26      !   divers:                                                                  !   divers:                                                            
27    
28      REAL, INTENT (IN) :: pdtphys ! pas d'integration pour la physique (seconde)      REAL, INTENT (IN):: pdtphys ! pas d'integration pour la physique (seconde)
29      INTEGER, INTENT (IN) :: itap      INTEGER, INTENT (IN):: itap
30    
31      !   convection:                                                              !   convection:                                                        
32    
33      REAL pmfu(klon, klev) ! flux de masse dans le panache montant      REAL, INTENT (IN):: pmfu(klon, klev) ! flux de masse dans le panache montant
34      REAL pmfd(klon, klev) ! flux de masse dans le panache descendant      REAL pmfd(klon, klev) ! flux de masse dans le panache descendant
35      REAL pen_u(klon, klev) ! flux entraine dans le panache montant      REAL pen_u(klon, klev) ! flux entraine dans le panache montant
36      REAL pde_u(klon, klev) ! flux detraine dans le panache montant      REAL pde_u(klon, klev) ! flux detraine dans le panache montant
# Line 76  contains Line 76  contains
76    
77      INTEGER i, k      INTEGER i, k
78    
79      REAL mfu(klon, klev) ! flux de masse dans le panache montant      REAL, save:: mfu(klon, klev) ! flux de masse dans le panache montant
80      REAL mfd(klon, klev) ! flux de masse dans le panache descendant      REAL mfd(klon, klev) ! flux de masse dans le panache descendant
81      REAL en_u(klon, klev) ! flux entraine dans le panache montant      REAL en_u(klon, klev) ! flux entraine dans le panache montant
82      REAL de_u(klon, klev) ! flux detraine dans le panache montant      REAL de_u(klon, klev) ! flux detraine dans le panache montant
# Line 91  contains Line 91  contains
91    
92      REAL dtcum      REAL dtcum
93    
94      INTEGER iadvtr, irec      INTEGER:: iadvtr = 0, irec = 1
95      REAL zmin, zmax      REAL zmin, zmax
96      LOGICAL ok_sync      LOGICAL ok_sync
97    
98      SAVE t, mfu, mfd, en_u, de_u, en_d, de_d, coefh, dtcum      SAVE t, mfd, en_u, de_u, en_d, de_d, coefh, dtcum
99      SAVE fm_therm, entr_therm      SAVE fm_therm, entr_therm
     SAVE iadvtr, irec  
100      SAVE pyu1, pyv1, pftsol, ppsrf      SAVE pyu1, pyv1, pftsol, ppsrf
101    
     DATA iadvtr, irec/0, 1/  
   
102      !------------------------------------------------------      !------------------------------------------------------
103    
104      !   Couche limite:                                                            !   Couche limite:                                                      
# Line 123  contains Line 120  contains
120    
121      iadvtr = iadvtr + 1      iadvtr = iadvtr + 1
122    
123      IF (mod(iadvtr, istphy)==1 .OR. istphy==1) THEN      IF (mod(iadvtr, istphy) == 1 .OR. istphy == 1) THEN
124         PRINT *, 'reinitialisation des champs cumules a iadvtr=', iadvtr         PRINT *, 'reinitialisation des champs cumules a iadvtr =', iadvtr
125         DO k = 1, klev         DO k = 1, klev
126            DO i = 1, klon            DO i = 1, klon
127               mfu(i, k) = 0.               mfu(i, k) = 0.
# Line 181  contains Line 178  contains
178      dtcum = dtcum + pdtphys      dtcum = dtcum + pdtphys
179    
180      IF (mod(iadvtr, istphy)==0) THEN      IF (mod(iadvtr, istphy)==0) THEN
181         !   normalisation par le temps cumule                                           ! normalisation par le temps cumule                                  
182         DO k = 1, klev         DO k = 1, klev
183            DO i = 1, klon            DO i = 1, klon
184               mfu(i, k) = mfu(i, k)/dtcum               mfu(i, k) = mfu(i, k)/dtcum
# Line 214  contains Line 211  contains
211               ppsrf2(i) = ppsrf(i, 2)               ppsrf2(i) = ppsrf(i, 2)
212               ppsrf3(i) = ppsrf(i, 3)               ppsrf3(i) = ppsrf(i, 3)
213               ppsrf4(i) = ppsrf(i, 4)               ppsrf4(i) = ppsrf(i, 4)
   
214            END DO            END DO
215         END DO         END DO
216    
# Line 222  contains Line 218  contains
218    
219         irec = irec + 1         irec = irec + 1
220    
        !cccc                                                                    
221         CALL gr_fi_ecrit(klev, klon, iim, jjm+1, t, zx_tmp_3d)         CALL gr_fi_ecrit(klev, klon, iim, jjm+1, t, zx_tmp_3d)
222         CALL histwrite(physid, 't', itap, zx_tmp_3d)         CALL histwrite(physid, 't', itap, zx_tmp_3d)
223    
# Line 241  contains Line 236  contains
236         CALL gr_fi_ecrit(klev, klon, iim, jjm+1, coefh, zx_tmp_3d)         CALL gr_fi_ecrit(klev, klon, iim, jjm+1, coefh, zx_tmp_3d)
237         CALL histwrite(physid, 'coefh', itap, zx_tmp_3d)         CALL histwrite(physid, 'coefh', itap, zx_tmp_3d)
238    
        ! ajou...                                                                
239         DO k = 1, klev         DO k = 1, klev
240            DO i = 1, klon            DO i = 1, klon
241               fm_therm1(i, k) = fm_therm(i, k)               fm_therm1(i, k) = fm_therm(i, k)
# Line 285  contains Line 279  contains
279         CALL histwrite(physid, 'psrf4', itap, zx_tmp_2d)         CALL histwrite(physid, 'psrf4', itap, zx_tmp_2d)
280    
281         IF (ok_sync) CALL histsync(physid)         IF (ok_sync) CALL histsync(physid)
        !     if (ok_sync) call histsync                                          
   
282    
283         !AA Test sur la valeur des coefficients de lessivage                             !AA Test sur la valeur des coefficients de lessivage                    
284    
# Line 298  contains Line 290  contains
290               zmin = min(zmin, frac_nucl(i, k))               zmin = min(zmin, frac_nucl(i, k))
291            END DO            END DO
292         END DO         END DO
293         PRINT *, '------ coefs de lessivage (min et max) --------'         PRINT *, 'coefs de lessivage (min et max)'
294         PRINT *, 'facteur de nucleation ', zmin, zmax         PRINT *, 'facteur de nucleation ', zmin, zmax
295         zmin = 1E33         zmin = 1E33
296         zmax = -1E33         zmax = -1E33
# Line 309  contains Line 301  contains
301            END DO            END DO
302         END DO         END DO
303         PRINT *, 'facteur d impaction ', zmin, zmax         PRINT *, 'facteur d impaction ', zmin, zmax
   
304      END IF      END IF
305    
306    END SUBROUTINE phystokenc    END SUBROUTINE phystokenc

Legend:
Removed from v.61  
changed lines
  Added in v.62

  ViewVC Help
Powered by ViewVC 1.1.21