/[lmdze]/trunk/phylmd/Interface_surf/pbl_surface.f
ViewVC logotype

Diff of /trunk/phylmd/Interface_surf/pbl_surface.f

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

revision 297 by guez, Thu Jul 26 16:02:11 2018 UTC revision 298 by guez, Thu Jul 26 16:45:51 2018 UTC
# Line 4  module pbl_surface_m Line 4  module pbl_surface_m
4    
5  contains  contains
6    
7    SUBROUTINE pbl_surface(dtime, pctsrf, t, q, u, v, julien, mu0, ftsol, &    SUBROUTINE pbl_surface(pctsrf, t, q, u, v, julien, mu0, ftsol, cdmmax, &
8         cdmmax, cdhmax, ftsoil, qsol, paprs, pplay, fsnow, qsurf, evap, falbe, &         cdhmax, ftsoil, qsol, paprs, pplay, fsnow, qsurf, evap, falbe, fluxlat, &
9         fluxlat, rain_fall, snow_f, fsolsw, fsollw, frugs, agesno, rugoro, d_t, &         rain_fall, snow_f, fsolsw, fsollw, frugs, agesno, rugoro, d_t, d_q, &
10         d_q, d_u, d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, &         d_u, d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &
11         q2, dflux_t, dflux_q, coefh, t2m, q2m, u10m_srf, v10m_srf, pblh, capcl, &         dflux_t, dflux_q, coefh, t2m, q2m, u10m_srf, v10m_srf, pblh, capcl, &
12         oliqcl, cteicl, pblt, therm, plcl, fqcalving, ffonte, run_off_lic_0)         oliqcl, cteicl, pblt, therm, plcl, fqcalving, ffonte, run_off_lic_0)
13    
14      ! 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
# Line 36  contains Line 36  contains
36      USE suphec_m, ONLY: rd, rg      USE suphec_m, ONLY: rd, rg
37      use time_phylmdz, only: itap      use time_phylmdz, only: itap
38    
     REAL, INTENT(IN):: dtime ! interval du temps (secondes)  
   
39      REAL, INTENT(inout):: pctsrf(klon, nbsrf)      REAL, INTENT(inout):: pctsrf(klon, nbsrf)
40      ! tableau des pourcentages de surface de chaque maille      ! tableau des pourcentages de surface de chaque maille
41    
# Line 74  contains Line 72  contains
72      real agesno(klon, nbsrf)      real agesno(klon, nbsrf)
73      REAL, INTENT(IN):: rugoro(klon)      REAL, INTENT(IN):: rugoro(klon)
74    
75      REAL, intent(out):: d_t(klon, klev), d_q(klon, klev)      REAL, intent(out):: d_t(:, :), d_q(:, :) ! (klon, klev)
76      ! changement pour t et q      ! changement pour t et q
77    
78      REAL, intent(out):: d_u(klon, klev), d_v(klon, klev)      REAL, intent(out):: d_u(klon, klev), d_v(klon, klev)
# Line 213  contains Line 211  contains
211      ypaprs = 0.      ypaprs = 0.
212      ypplay = 0.      ypplay = 0.
213      ydelp = 0.      ydelp = 0.
     yu = 0.  
     yv = 0.  
     yq = 0.  
214      yrugoro = 0.      yrugoro = 0.
215      d_ts = 0.      d_ts = 0.
216      flux_t = 0.      flux_t = 0.
# Line 331  contains Line 326  contains
326               END DO               END DO
327            end IF            end IF
328    
329            call coef_diff_turb(dtime, nsrf, ni(:knon), ypaprs(:knon, :), &            call coef_diff_turb(nsrf, ni(:knon), ypaprs(:knon, :), &
330                 ypplay(:knon, :), yu(:knon, :), yv(:knon, :), yq(:knon, :), &                 ypplay(:knon, :), yu(:knon, :), yv(:knon, :), yq(:knon, :), &
331                 yt(:knon, :), yts(:knon), ycdragm(:knon), zgeop(:knon, :), &                 yt(:knon, :), yts(:knon), ycdragm(:knon), zgeop(:knon, :), &
332                 ycoefm(:knon, :), ycoefh(:knon, :), yq2(:knon, :))                 ycoefm(:knon, :), ycoefh(:knon, :), yq2(:knon, :))
333    
334            CALL clvent(dtime, yu(:knon, 1), yv(:knon, 1), ycoefm(:knon, :), &            CALL clvent(yu(:knon, 1), yv(:knon, 1), ycoefm(:knon, :), &
335                 ycdragm(:knon), yt(:knon, :), yu(:knon, :), ypaprs(:knon, :), &                 ycdragm(:knon), yt(:knon, :), yu(:knon, :), ypaprs(:knon, :), &
336                 ypplay(:knon, :), ydelp(:knon, :), y_d_u(:knon, :), &                 ypplay(:knon, :), ydelp(:knon, :), y_d_u(:knon, :), &
337                 y_flux_u(:knon))                 y_flux_u(:knon))
338            CALL clvent(dtime, yu(:knon, 1), yv(:knon, 1), ycoefm(:knon, :), &            CALL clvent(yu(:knon, 1), yv(:knon, 1), ycoefm(:knon, :), &
339                 ycdragm(:knon), yt(:knon, :), yv(:knon, :), ypaprs(:knon, :), &                 ycdragm(:knon), yt(:knon, :), yv(:knon, :), ypaprs(:knon, :), &
340                 ypplay(:knon, :), ydelp(:knon, :), y_d_v(:knon, :), &                 ypplay(:knon, :), ydelp(:knon, :), y_d_v(:knon, :), &
341                 y_flux_v(:knon))                 y_flux_v(:knon))
342    
343            CALL clqh(dtime, julien, firstcal, nsrf, ni(:knon), &            CALL clqh(julien, firstcal, nsrf, ni(:knon), ytsoil(:knon, :), &
344                 ytsoil(:knon, :), yqsol(:knon), mu0, yrugos(:knon), &                 yqsol(:knon), mu0, yrugos(:knon), yrugoro(:knon), yu(:knon, 1), &
345                 yrugoro(:knon), yu(:knon, 1), yv(:knon, 1), ycoefh(:knon, :), &                 yv(:knon, 1), ycoefh(:knon, :), ycdragh(:knon), yt(:knon, :), &
346                 ycdragh(:knon), yt(:knon, :), yq(:knon, :), yts(:knon), &                 yq(:knon, :), yts(:knon), ypaprs(:knon, :), ypplay(:knon, :), &
347                 ypaprs(:knon, :), ypplay(:knon, :), ydelp(:knon, :), &                 ydelp(:knon, :), yrads(:knon), yalb(:knon), snow(:knon), &
348                 yrads(:knon), yalb(:knon), snow(:knon), yqsurf(:knon), yrain_f, &                 yqsurf(:knon), yrain_f, ysnow_f, yfluxlat(:knon), &
349                 ysnow_f, yfluxlat(:knon), pctsrf_new_sic, yagesno(:knon), &                 pctsrf_new_sic, yagesno(:knon), y_d_t(:knon, :), &
350                 y_d_t(:knon, :), y_d_q(:knon, :), y_d_ts(:knon), &                 y_d_q(:knon, :), y_d_ts(:knon), yz0_new(:knon), &
351                 yz0_new(:knon), y_flux_t(:knon), y_flux_q(:knon), &                 y_flux_t(:knon), y_flux_q(:knon), y_dflux_t(:knon), &
352                 y_dflux_t(:knon), y_dflux_q(:knon), y_fqcalving(:knon), &                 y_dflux_q(:knon), y_fqcalving(:knon), y_ffonte, y_run_off_lic_0)
                y_ffonte, y_run_off_lic_0)  
353    
354            ! calculer la longueur de rugosite sur ocean            ! calculer la longueur de rugosite sur ocean
355    
# Line 473  contains Line 467  contains
467            END DO            END DO
468    
469            CALL hbtm(ypaprs, ypplay, yt2m, yq2m, ustar(:knon), y_flux_t(:knon), &            CALL hbtm(ypaprs, ypplay, yt2m, yq2m, ustar(:knon), y_flux_t(:knon), &
470                 y_flux_q(:knon), yu, yv, yt(:knon, :), yq, ypblh(:knon), &                 y_flux_q(:knon), yu(:knon, :), yv(:knon, :), yt(:knon, :), &
471                 ycapcl, yoliqcl, ycteicl, ypblt, ytherm, ylcl)                 yq(:knon, :), ypblh(:knon), ycapcl, yoliqcl, ycteicl, ypblt, &
472                   ytherm, ylcl)
473    
474            DO j = 1, knon            DO j = 1, knon
475               i = ni(j)               i = ni(j)

Legend:
Removed from v.297  
changed lines
  Added in v.298

  ViewVC Help
Powered by ViewVC 1.1.21