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

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

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

revision 155 by guez, Wed Jul 8 17:03:45 2015 UTC revision 175 by guez, Fri Feb 5 16:02:34 2016 UTC
# Line 11  contains Line 11  contains
11         d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &         d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &
12         dflux_t, dflux_q, ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, capcl, &         dflux_t, dflux_q, ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, capcl, &
13         oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, fqcalving, &         oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, fqcalving, &
14         ffonte, run_off_lic_0, flux_o, flux_g, tslab)         ffonte, run_off_lic_0)
15    
16      ! From phylmd/clmain.F, version 1.6, 2005/11/16 14:47:19      ! From phylmd/clmain.F, version 1.6, 2005/11/16 14:47:19
17      ! Author: Z. X. Li (LMD/CNRS), date: 1993/08/18      ! Author: Z. X. Li (LMD/CNRS), date: 1993/08/18
# Line 149  contains Line 149  contains
149      !           hauteur de neige, en kg/m2/s      !           hauteur de neige, en kg/m2/s
150      REAL run_off_lic_0(klon)      REAL run_off_lic_0(klon)
151    
     REAL flux_o(klon), flux_g(klon)  
     !IM "slab" ocean  
     ! flux_g---output-R-  flux glace (pour OCEAN='slab  ')  
     ! flux_o---output-R-  flux ocean (pour OCEAN='slab  ')  
   
     REAL tslab(klon)  
     ! tslab-in/output-R temperature du slab ocean (en Kelvin)  
     ! uniqmnt pour slab  
   
152      ! Local:      ! Local:
153    
     REAL y_flux_o(klon), y_flux_g(klon)  
     real ytslab(klon)  
154      REAL y_fqcalving(klon), y_ffonte(klon)      REAL y_fqcalving(klon), y_ffonte(klon)
155      real y_run_off_lic_0(klon)      real y_run_off_lic_0(klon)
156    
# Line 185  contains Line 174  contains
174      REAL ysnow_f(klon)      REAL ysnow_f(klon)
175      ! solid water mass flux (kg/m2/s), positive down      ! solid water mass flux (kg/m2/s), positive down
176    
     REAL ysollw(klon), ysolsw(klon)  
177      REAL yfder(klon)      REAL yfder(klon)
178      REAL yrugm(klon), yrads(klon), yrugoro(klon)      REAL yrugm(klon), yrads(klon), yrugoro(klon)
179    
# Line 283  contains Line 271  contains
271      yrain_f = 0.      yrain_f = 0.
272      ysnow_f = 0.      ysnow_f = 0.
273      yfder = 0.      yfder = 0.
     ysolsw = 0.  
     ysollw = 0.  
274      yrugos = 0.      yrugos = 0.
275      yu1 = 0.      yu1 = 0.
276      yv1 = 0.      yv1 = 0.
# Line 346  contains Line 332  contains
332               i = ni(j)               i = ni(j)
333               ypct(j) = pctsrf(i, nsrf)               ypct(j) = pctsrf(i, nsrf)
334               yts(j) = ts(i, nsrf)               yts(j) = ts(i, nsrf)
              ytslab(i) = tslab(i)  
335               ysnow(j) = snow(i, nsrf)               ysnow(j) = snow(i, nsrf)
336               yqsurf(j) = qsurf(i, nsrf)               yqsurf(j) = qsurf(i, nsrf)
337               yalb(j) = falbe(i, nsrf)               yalb(j) = falbe(i, nsrf)
# Line 354  contains Line 339  contains
339               ysnow_f(j) = snow_f(i)               ysnow_f(j) = snow_f(i)
340               yagesno(j) = agesno(i, nsrf)               yagesno(j) = agesno(i, nsrf)
341               yfder(j) = fder(i)               yfder(j) = fder(i)
              ysolsw(j) = solsw(i, nsrf)  
              ysollw(j) = sollw(i, nsrf)  
342               yrugos(j) = rugos(i, nsrf)               yrugos(j) = rugos(i, nsrf)
343               yrugoro(j) = rugoro(i)               yrugoro(j) = rugoro(i)
344               yu1(j) = u1lay(i)               yu1(j) = u1lay(i)
345               yv1(j) = v1lay(i)               yv1(j) = v1lay(i)
346               yrads(j) = ysolsw(j) + ysollw(j)               yrads(j) = solsw(i, nsrf) + sollw(i, nsrf)
347               ypaprs(j, klev+1) = paprs(i, klev+1)               ypaprs(j, klev+1) = paprs(i, klev+1)
348               y_run_off_lic_0(j) = run_off_lic_0(i)               y_run_off_lic_0(j) = run_off_lic_0(i)
349               yu10mx(j) = u10m(i, nsrf)               yu10mx(j) = u10m(i, nsrf)
# Line 476  contains Line 459  contains
459                 pctsrf, ytsoil, yqsol, rmu0, co2_ppm, yrugos, yrugoro, yu1, &                 pctsrf, ytsoil, yqsol, rmu0, co2_ppm, yrugos, yrugoro, yu1, &
460                 yv1, coefh(:knon, :), yt, yq, yts, ypaprs, ypplay, ydelp, &                 yv1, coefh(:knon, :), yt, yq, yts, ypaprs, ypplay, ydelp, &
461                 yrads, yalb(:knon), ysnow, yqsurf, yrain_f, ysnow_f, yfder, &                 yrads, yalb(:knon), ysnow, yqsurf, yrain_f, ysnow_f, yfder, &
462                 ysolsw, yfluxlat, pctsrf_new, yagesno, y_d_t, y_d_q, &                 yfluxlat, pctsrf_new, yagesno(:knon), y_d_t, y_d_q, &
463                 y_d_ts(:knon), yz0_new, y_flux_t, y_flux_q, y_dflux_t, &                 y_d_ts(:knon), yz0_new, y_flux_t, y_flux_q, y_dflux_t, &
464                 y_dflux_q, y_fqcalving, y_ffonte, y_run_off_lic_0, y_flux_o, &                 y_dflux_q, y_fqcalving, y_ffonte, y_run_off_lic_0)
                y_flux_g)  
465    
466            ! calculer la longueur de rugosite sur ocean            ! calculer la longueur de rugosite sur ocean
467            yrugm = 0.            yrugm = 0.
# Line 630  contains Line 612  contains
612                  q2(i, k, nsrf) = yq2(j, k)                  q2(i, k, nsrf) = yq2(j, k)
613               END DO               END DO
614            END DO            END DO
           !IM "slab" ocean  
           IF (nsrf == is_oce) THEN  
              DO j = 1, knon  
                 ! on projette sur la grille globale  
                 i = ni(j)  
                 IF (pctsrf_new(i, is_oce)>epsfra) THEN  
                    flux_o(i) = y_flux_o(j)  
                 ELSE  
                    flux_o(i) = 0.  
                 END IF  
              END DO  
           END IF  
   
           IF (nsrf == is_sic) THEN  
              DO j = 1, knon  
                 i = ni(j)  
                 ! On pond\`ere lorsque l'on fait le bilan au sol :  
                 IF (pctsrf_new(i, is_sic)>epsfra) THEN  
                    flux_g(i) = y_flux_g(j)  
                 ELSE  
                    flux_g(i) = 0.  
                 END IF  
              END DO  
   
           END IF  
615         end IF if_knon         end IF if_knon
616      END DO loop_surface      END DO loop_surface
617    

Legend:
Removed from v.155  
changed lines
  Added in v.175

  ViewVC Help
Powered by ViewVC 1.1.21