/[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 189 by guez, Tue Mar 29 15:20:23 2016 UTC revision 190 by guez, Thu Apr 14 15:15:56 2016 UTC
# Line 4  module phystokenc_m Line 4  module phystokenc_m
4    
5  contains  contains
6    
7    SUBROUTINE phystokenc(pdtphys, rlon, rlat, pt, pmfu, pmfd, pen_u, pde_u, &    SUBROUTINE phystokenc(pdtphys, pt, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, &
8         pen_d, pde_d, pfm_therm, pentr_therm, pcoefh, yu1, yv1, ftsol, pctsrf, &         pfm_therm, pentr_therm, pcoefh, yu1, yv1, ftsol, pctsrf, frac_impa, &
9         frac_impa, frac_nucl, pphis, paire, dtime, itap)         frac_nucl, pphis, paire, dtime, itap)
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\'ed\'eric Hourdin      ! Author: Fr\'ed\'eric Hourdin
# Line 22  contains Line 22  contains
22      USE tracstoke, ONLY: istphy      USE tracstoke, ONLY: istphy
23    
24      REAL, INTENT (IN):: pdtphys ! pas d'integration pour la physique (seconde)      REAL, INTENT (IN):: pdtphys ! pas d'integration pour la physique (seconde)
     REAL, INTENT (IN):: rlon(klon), rlat(klon)  
25      REAL, intent(in):: pt(klon, klev)      REAL, intent(in):: pt(klon, klev)
26    
27      ! convection:      ! convection:
# Line 70  contains Line 69  contains
69    
70      real t(klon, klev)      real t(klon, klev)
71      INTEGER, SAVE:: physid      INTEGER, SAVE:: physid
     REAL zx_tmp_3d(iim, jjm+1, klev), zx_tmp_2d(iim, jjm+1)  
72    
73      ! Les Thermiques      ! Les Thermiques
74    
# Line 109  contains Line 107  contains
107    
108      ok_sync = .TRUE.      ok_sync = .TRUE.
109    
110      IF (iadvtr==0) THEN      IF (iadvtr==0) CALL initphysto('phystoke', dtime, dtime*istphy, dtime*istphy, physid)
        CALL initphysto('phystoke', rlon, rlat, dtime, dtime*istphy, &  
             dtime*istphy, physid)  
     END IF  
111    
112      i = itap      i = itap
113      zx_tmp_2d = gr_phy_write(pphis)      CALL histwrite(physid, 'phis', i, gr_phy_write(pphis))
     CALL histwrite(physid, 'phis', i, zx_tmp_2d)  
   
114      i = itap      i = itap
115      zx_tmp_2d = gr_phy_write(paire)      CALL histwrite(physid, 'aire', i, gr_phy_write(paire))
     CALL histwrite(physid, 'aire', i, zx_tmp_2d)  
   
116      iadvtr = iadvtr + 1      iadvtr = iadvtr + 1
117    
118      IF (mod(iadvtr, istphy) == 1 .OR. istphy == 1) THEN      IF (mod(iadvtr, istphy) == 1 .OR. istphy == 1) THEN
# Line 222  contains Line 213  contains
213    
214         irec = irec + 1         irec = irec + 1
215    
216         zx_tmp_3d = gr_phy_write(t)         CALL histwrite(physid, 't', itap, gr_phy_write(t))
217         CALL histwrite(physid, 't', itap, zx_tmp_3d)         CALL histwrite(physid, 'mfu', itap, gr_phy_write(mfu))
218           CALL histwrite(physid, 'mfd', itap, gr_phy_write(mfd))
219         zx_tmp_3d = gr_phy_write(mfu)         CALL histwrite(physid, 'en_u', itap, gr_phy_write(en_u))
220         CALL histwrite(physid, 'mfu', itap, zx_tmp_3d)         CALL histwrite(physid, 'de_u', itap, gr_phy_write(de_u))
221         zx_tmp_3d = gr_phy_write(mfd)         CALL histwrite(physid, 'en_d', itap, gr_phy_write(en_d))
222         CALL histwrite(physid, 'mfd', itap, zx_tmp_3d)         CALL histwrite(physid, 'de_d', itap, gr_phy_write(de_d))
223         zx_tmp_3d = gr_phy_write(en_u)         CALL histwrite(physid, 'coefh', itap, gr_phy_write(coefh))
        CALL histwrite(physid, 'en_u', itap, zx_tmp_3d)  
        zx_tmp_3d = gr_phy_write(de_u)  
        CALL histwrite(physid, 'de_u', itap, zx_tmp_3d)  
        zx_tmp_3d = gr_phy_write(en_d)  
        CALL histwrite(physid, 'en_d', itap, zx_tmp_3d)  
        zx_tmp_3d = gr_phy_write(de_d)  
        CALL histwrite(physid, 'de_d', itap, zx_tmp_3d)  
        zx_tmp_3d = gr_phy_write(coefh)  
        CALL histwrite(physid, 'coefh', itap, zx_tmp_3d)  
   
224         DO k = 1, klev         DO k = 1, klev
225            DO i = 1, klon            DO i = 1, klon
226               fm_therm1(i, k) = fm_therm(i, k)               fm_therm1(i, k) = fm_therm(i, k)
227            END DO            END DO
228         END DO         END DO
229    
230         zx_tmp_3d = gr_phy_write(fm_therm1)         CALL histwrite(physid, 'fm_th', itap, gr_phy_write(fm_therm1))
231         CALL histwrite(physid, 'fm_th', itap, zx_tmp_3d)         CALL histwrite(physid, 'en_th', itap, gr_phy_write(entr_therm))
   
        zx_tmp_3d = gr_phy_write(entr_therm)  
        CALL histwrite(physid, 'en_th', itap, zx_tmp_3d)  
232         !ccc         !ccc
233         zx_tmp_3d = gr_phy_write(frac_impa)         CALL histwrite(physid, 'frac_impa', itap, gr_phy_write(frac_impa))
234         CALL histwrite(physid, 'frac_impa', itap, zx_tmp_3d)         CALL histwrite(physid, 'frac_nucl', itap, gr_phy_write(frac_nucl))
235           CALL histwrite(physid, 'pyu1', itap, gr_phy_write(pyu1))
236         zx_tmp_3d = gr_phy_write(frac_nucl)         CALL histwrite(physid, 'pyv1', itap, gr_phy_write(pyv1))
237         CALL histwrite(physid, 'frac_nucl', itap, zx_tmp_3d)         CALL histwrite(physid, 'ftsol1', itap, gr_phy_write(pftsol1))
238           CALL histwrite(physid, 'ftsol2', itap, gr_phy_write(pftsol2))
239         zx_tmp_2d = gr_phy_write(pyu1)         CALL histwrite(physid, 'ftsol3', itap, gr_phy_write(pftsol3))
240         CALL histwrite(physid, 'pyu1', itap, zx_tmp_2d)         CALL histwrite(physid, 'ftsol4', itap, gr_phy_write(pftsol4))
241           CALL histwrite(physid, 'psrf1', itap, gr_phy_write(ppsrf1))
242         zx_tmp_2d = gr_phy_write(pyv1)         CALL histwrite(physid, 'psrf2', itap, gr_phy_write(ppsrf2))
243         CALL histwrite(physid, 'pyv1', itap, zx_tmp_2d)         CALL histwrite(physid, 'psrf3', itap, gr_phy_write(ppsrf3))
244           CALL histwrite(physid, 'psrf4', itap, gr_phy_write(ppsrf4))
        zx_tmp_2d = gr_phy_write(pftsol1)  
        CALL histwrite(physid, 'ftsol1', itap, zx_tmp_2d)  
        zx_tmp_2d = gr_phy_write(pftsol2)  
        CALL histwrite(physid, 'ftsol2', itap, zx_tmp_2d)  
        zx_tmp_2d = gr_phy_write(pftsol3)  
        CALL histwrite(physid, 'ftsol3', itap, zx_tmp_2d)  
        zx_tmp_2d = gr_phy_write(pftsol4)  
        CALL histwrite(physid, 'ftsol4', itap, zx_tmp_2d)  
   
        zx_tmp_2d = gr_phy_write(ppsrf1)  
        CALL histwrite(physid, 'psrf1', itap, zx_tmp_2d)  
        zx_tmp_2d = gr_phy_write(ppsrf2)  
        CALL histwrite(physid, 'psrf2', itap, zx_tmp_2d)  
        zx_tmp_2d = gr_phy_write(ppsrf3)  
        CALL histwrite(physid, 'psrf3', itap, zx_tmp_2d)  
        zx_tmp_2d = gr_phy_write(ppsrf4)  
        CALL histwrite(physid, 'psrf4', itap, zx_tmp_2d)  
   
245         IF (ok_sync) CALL histsync(physid)         IF (ok_sync) CALL histsync(physid)
246    
247         ! Test sur la valeur des coefficients de lessivage         ! Test sur la valeur des coefficients de lessivage

Legend:
Removed from v.189  
changed lines
  Added in v.190

  ViewVC Help
Powered by ViewVC 1.1.21