/[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 186 by guez, Mon Mar 21 15:36:26 2016 UTC revision 191 by guez, Mon May 9 19:56:28 2016 UTC
# Line 4  module clmain_m Line 4  module clmain_m
4    
5  contains  contains
6    
7    SUBROUTINE clmain(dtime, itap, pctsrf, pctsrf_new, t, q, u, v, jour, rmu0, &    SUBROUTINE clmain(dtime, pctsrf, pctsrf_new, t, q, u, v, jour, rmu0, ts, &
8         ts, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, qsol, &         cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, qsol, paprs, pplay, &
9         paprs, pplay, snow, qsurf, evap, falbe, fluxlat, rain_fall, snow_f, &         snow, qsurf, evap, falbe, fluxlat, rain_fall, snow_f, solsw, sollw, &
10         solsw, sollw, fder, rlat, rugos, debut, agesno, rugoro, d_t, d_q, d_u, &         fder, rlat, rugos, firstcal, agesno, rugoro, d_t, d_q, d_u, d_v, d_ts, &
11         d_v, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &         flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, dflux_t, dflux_q, &
12         dflux_t, dflux_q, ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, capcl, &         ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, capcl, oliqcl, cteicl, &
13         oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, fqcalving, &         pblt, therm, trmb1, trmb2, trmb3, plcl, fqcalving, ffonte, run_off_lic_0)
        ffonte, run_off_lic_0)  
14    
15      ! 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
16      ! Author: Z. X. Li (LMD/CNRS), date: 1993/08/18      ! Author: Z. X. Li (LMD/CNRS), date: 1993/08/18
# Line 44  contains Line 43  contains
43      use yamada4_m, only: yamada4      use yamada4_m, only: yamada4
44    
45      REAL, INTENT(IN):: dtime ! interval du temps (secondes)      REAL, INTENT(IN):: dtime ! interval du temps (secondes)
     INTEGER, INTENT(IN):: itap ! numero du pas de temps  
46      REAL, INTENT(inout):: pctsrf(klon, nbsrf)      REAL, INTENT(inout):: pctsrf(klon, nbsrf)
47    
48      ! la nouvelle repartition des surfaces sortie de l'interface      ! la nouvelle repartition des surfaces sortie de l'interface
# Line 68  contains Line 66  contains
66    
67      REAL, INTENT(IN):: paprs(klon, klev+1) ! pression a intercouche (Pa)      REAL, INTENT(IN):: paprs(klon, klev+1) ! pression a intercouche (Pa)
68      REAL, INTENT(IN):: pplay(klon, klev) ! pression au milieu de couche (Pa)      REAL, INTENT(IN):: pplay(klon, klev) ! pression au milieu de couche (Pa)
69      REAL snow(klon, nbsrf)      REAL, INTENT(inout):: snow(klon, nbsrf)
70      REAL qsurf(klon, nbsrf)      REAL qsurf(klon, nbsrf)
71      REAL evap(klon, nbsrf)      REAL evap(klon, nbsrf)
72      REAL, intent(inout):: falbe(klon, nbsrf)      REAL, intent(inout):: falbe(klon, nbsrf)
# Line 85  contains Line 83  contains
83      REAL, intent(in):: fder(klon)      REAL, intent(in):: fder(klon)
84      REAL, INTENT(IN):: rlat(klon) ! latitude en degr\'es      REAL, INTENT(IN):: rlat(klon) ! latitude en degr\'es
85    
86      REAL rugos(klon, nbsrf)      REAL, intent(inout):: rugos(klon, nbsrf) ! longueur de rugosit\'e (en m)
     ! rugos----input-R- longeur de rugosite (en m)  
87    
88      LOGICAL, INTENT(IN):: debut      LOGICAL, INTENT(IN):: firstcal
89      real agesno(klon, nbsrf)      real agesno(klon, nbsrf)
90      REAL, INTENT(IN):: rugoro(klon)      REAL, INTENT(IN):: rugoro(klon)
91    
# Line 116  contains Line 113  contains
113      REAL, INTENT(out):: dflux_t(klon), dflux_q(klon)      REAL, INTENT(out):: dflux_t(klon), dflux_q(klon)
114      ! dflux_t derive du flux sensible      ! dflux_t derive du flux sensible
115      ! dflux_q derive du flux latent      ! dflux_q derive du flux latent
116      !IM "slab" ocean      ! IM "slab" ocean
117    
118      REAL, intent(out):: ycoefh(klon, klev)      REAL, intent(out):: ycoefh(klon, klev)
119      REAL, intent(out):: zu1(klon)      REAL, intent(out):: zu1(klon)
# Line 124  contains Line 121  contains
121      REAL t2m(klon, nbsrf), q2m(klon, nbsrf)      REAL t2m(klon, nbsrf), q2m(klon, nbsrf)
122      REAL u10m(klon, nbsrf), v10m(klon, nbsrf)      REAL u10m(klon, nbsrf), v10m(klon, nbsrf)
123    
124      ! Ionela Musat cf. Anne Mathieu : pbl, hbtm (Comme les autres      ! Ionela Musat cf. Anne Mathieu : planetary boundary layer, hbtm
125      ! diagnostics on cumule dans physiq ce qui permet de sortir les      ! (Comme les autres diagnostics on cumule dans physiq ce qui
126      ! grandeurs par sous-surface)      ! permet de sortir les grandeurs par sous-surface)
127      REAL pblh(klon, nbsrf)      REAL pblh(klon, nbsrf) ! height of planetary boundary layer
     ! pblh------- HCL  
128      REAL capcl(klon, nbsrf)      REAL capcl(klon, nbsrf)
129      REAL oliqcl(klon, nbsrf)      REAL oliqcl(klon, nbsrf)
130      REAL cteicl(klon, nbsrf)      REAL cteicl(klon, nbsrf)
# Line 207  contains Line 203  contains
203      ! "pourcentage potentiel" pour tenir compte des \'eventuelles      ! "pourcentage potentiel" pour tenir compte des \'eventuelles
204      ! apparitions ou disparitions de la glace de mer      ! apparitions ou disparitions de la glace de mer
205    
206      REAL zx_alf1, zx_alf2 !valeur ambiante par extrapola.      REAL zx_alf1, zx_alf2 ! valeur ambiante par extrapolation
207    
208      REAL yt2m(klon), yq2m(klon), yu10m(klon)      REAL yt2m(klon), yq2m(klon), yu10m(klon)
209      REAL yustar(klon)      REAL yustar(klon)
# Line 443  contains Line 439  contains
439                 ypplay, ydelp, y_d_v, y_flux_v)                 ypplay, ydelp, y_d_v, y_flux_v)
440    
441            ! calculer la diffusion de "q" et de "h"            ! calculer la diffusion de "q" et de "h"
442            CALL clqh(dtime, itap, jour, debut, rlat, knon, nsrf, ni(:knon), &            CALL clqh(dtime, jour, firstcal, rlat, knon, nsrf, ni(:knon), &
443                 pctsrf, ytsoil, yqsol, rmu0, yrugos, yrugoro, yu1, &                 pctsrf, ytsoil, yqsol, rmu0, yrugos, yrugoro, yu1, yv1, &
444                 yv1, coefh(:knon, :), yt, yq, yts, ypaprs, ypplay, ydelp, &                 coefh(:knon, :), yt, yq, yts, ypaprs, ypplay, ydelp, yrads, &
445                 yrads, yalb(:knon), ysnow, yqsurf, yrain_f, ysnow_f, yfder, &                 yalb(:knon), ysnow, yqsurf, yrain_f, ysnow_f, yfder, yfluxlat, &
446                 yfluxlat, pctsrf_new, yagesno(:knon), y_d_t, y_d_q, &                 pctsrf_new, yagesno(:knon), y_d_t, y_d_q, y_d_ts(:knon), &
447                 y_d_ts(:knon), yz0_new, y_flux_t, y_flux_q, y_dflux_t, &                 yz0_new, y_flux_t, y_flux_q, y_dflux_t, y_dflux_q, &
448                 y_dflux_q, y_fqcalving, y_ffonte, y_run_off_lic_0)                 y_fqcalving, y_ffonte, y_run_off_lic_0)
449    
450            ! calculer la longueur de rugosite sur ocean            ! calculer la longueur de rugosite sur ocean
451            yrugm = 0.            yrugm = 0.

Legend:
Removed from v.186  
changed lines
  Added in v.191

  ViewVC Help
Powered by ViewVC 1.1.21