/[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

trunk/libf/phylmd/clmain.f90 revision 71 by guez, Mon Jul 8 18:12:18 2013 UTC trunk/phylmd/clmain.f revision 82 by guez, Wed Mar 5 14:57:53 2014 UTC
# Line 4  module clmain_m Line 4  module clmain_m
4    
5  contains  contains
6    
7    SUBROUTINE clmain(dtime, itap, date0, pctsrf, pctsrf_new, t, q, u, v, &    SUBROUTINE clmain(dtime, itap, pctsrf, pctsrf_new, t, q, u, v, &
8         jour, rmu0, co2_ppm, ok_veget, ocean, npas, nexca, ts, &         jour, rmu0, co2_ppm, ok_veget, ocean, ts, &
9         soil_model, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, &         soil_model, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, &
10         qsol, paprs, pplay, snow, qsurf, evap, albe, alblw, fluxlat, &         qsol, paprs, pplay, snow, qsurf, evap, albe, alblw, fluxlat, &
11         rain_fall, snow_f, solsw, sollw, sollwdown, fder, rlon, rlat, cufi, &         rain_fall, snow_f, solsw, sollw, fder, rlon, rlat, &
12         cvfi, rugos, debut, lafin, agesno, rugoro, d_t, d_q, d_u, d_v, &         rugos, debut, agesno, rugoro, d_t, d_q, d_u, d_v, &
13         d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &         d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &
14         dflux_t, dflux_q, ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, &         dflux_t, dflux_q, ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, &
15         capcl, oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, &         capcl, oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, &
# Line 58  contains Line 58  contains
58    
59      REAL, INTENT(IN):: dtime ! interval du temps (secondes)      REAL, INTENT(IN):: dtime ! interval du temps (secondes)
60      INTEGER, INTENT(IN):: itap ! numero du pas de temps      INTEGER, INTENT(IN):: itap ! numero du pas de temps
     REAL, INTENT(IN):: date0 ! jour initial  
61      REAL, INTENT(inout):: pctsrf(klon, nbsrf)      REAL, INTENT(inout):: pctsrf(klon, nbsrf)
62    
63      ! la nouvelle repartition des surfaces sortie de l'interface      ! la nouvelle repartition des surfaces sortie de l'interface
# Line 72  contains Line 71  contains
71      REAL co2_ppm ! taux CO2 atmosphere      REAL co2_ppm ! taux CO2 atmosphere
72      LOGICAL ok_veget      LOGICAL ok_veget
73      CHARACTER(len=*), INTENT(IN):: ocean      CHARACTER(len=*), INTENT(IN):: ocean
     INTEGER npas, nexca  
74      REAL ts(klon, nbsrf) ! input-R- temperature du sol (en Kelvin)      REAL ts(klon, nbsrf) ! input-R- temperature du sol (en Kelvin)
75      LOGICAL, INTENT(IN):: soil_model      LOGICAL, INTENT(IN):: soil_model
76      REAL, INTENT(IN):: cdmmax, cdhmax ! seuils cdrm, cdrh      REAL, INTENT(IN):: cdmmax, cdhmax ! seuils cdrm, cdrh
# Line 91  contains Line 89  contains
89      REAL fluxlat(klon, nbsrf)      REAL fluxlat(klon, nbsrf)
90    
91      REAL, intent(in):: rain_fall(klon), snow_f(klon)      REAL, intent(in):: rain_fall(klon), snow_f(klon)
92      REAL solsw(klon, nbsrf), sollw(klon, nbsrf), sollwdown(klon)      REAL, INTENT(IN):: solsw(klon, nbsrf), sollw(klon, nbsrf)
93      REAL fder(klon)      REAL fder(klon)
94      REAL, INTENT(IN):: rlon(klon)      REAL, INTENT(IN):: rlon(klon)
95      REAL, INTENT(IN):: rlat(klon) ! latitude en degrés      REAL, INTENT(IN):: rlat(klon) ! latitude en degrés
96    
     REAL cufi(klon), cvfi(klon)  
     ! cufi-----input-R- resolution des mailles en x (m)  
     ! cvfi-----input-R- resolution des mailles en y (m)  
   
97      REAL rugos(klon, nbsrf)      REAL rugos(klon, nbsrf)
98      ! rugos----input-R- longeur de rugosite (en m)      ! rugos----input-R- longeur de rugosite (en m)
99    
100      LOGICAL, INTENT(IN):: debut      LOGICAL, INTENT(IN):: debut
     LOGICAL, INTENT(IN):: lafin  
101      real agesno(klon, nbsrf)      real agesno(klon, nbsrf)
102      REAL, INTENT(IN):: rugoro(klon)      REAL, INTENT(IN):: rugoro(klon)
103    
# Line 196  contains Line 189  contains
189      ! la premiere couche      ! la premiere couche
190      REAL ysnow(klon), yqsurf(klon), yagesno(klon), yqsol(klon)      REAL ysnow(klon), yqsurf(klon), yagesno(klon), yqsol(klon)
191      REAL yrain_f(klon), ysnow_f(klon)      REAL yrain_f(klon), ysnow_f(klon)
192      REAL ysollw(klon), ysolsw(klon), ysollwdown(klon)      REAL ysollw(klon), ysolsw(klon)
193      REAL yfder(klon), ytaux(klon), ytauy(klon)      REAL yfder(klon), ytaux(klon), ytauy(klon)
194      REAL yrugm(klon), yrads(klon), yrugoro(klon)      REAL yrugm(klon), yrads(klon), yrugoro(klon)
195    
# Line 213  contains Line 206  contains
206      REAL yt(klon, klev), yq(klon, klev)      REAL yt(klon, klev), yq(klon, klev)
207      REAL ypaprs(klon, klev+1), ypplay(klon, klev), ydelp(klon, klev)      REAL ypaprs(klon, klev+1), ypplay(klon, klev), ydelp(klon, klev)
208    
     LOGICAL ok_nonloc  
     PARAMETER (ok_nonloc=.FALSE.)  
209      REAL ycoefm0(klon, klev), ycoefh0(klon, klev)      REAL ycoefm0(klon, klev), ycoefh0(klon, klev)
210    
211      REAL yzlay(klon, klev), yzlev(klon, klev+1), yteta(klon, klev)      REAL yzlay(klon, klev), yzlev(klon, klev+1), yteta(klon, klev)
# Line 283  contains Line 274  contains
274      LOGICAL zxli      LOGICAL zxli
275      PARAMETER (zxli=.FALSE.)      PARAMETER (zxli=.FALSE.)
276    
     REAL zt, zqs, zdelta, zcor  
     REAL t_coup  
     PARAMETER (t_coup=273.15)  
   
     CHARACTER(len=20):: modname = 'clmain'  
   
277      !------------------------------------------------------------      !------------------------------------------------------------
278    
279      ytherm = 0.      ytherm = 0.
# Line 355  contains Line 340  contains
340      ytauy = 0.      ytauy = 0.
341      ysolsw = 0.      ysolsw = 0.
342      ysollw = 0.      ysollw = 0.
     ysollwdown = 0.  
343      yrugos = 0.      yrugos = 0.
344      yu1 = 0.      yu1 = 0.
345      yv1 = 0.      yv1 = 0.
# Line 446  contains Line 430  contains
430               ytauy(j) = flux_v(i, 1, nsrf)               ytauy(j) = flux_v(i, 1, nsrf)
431               ysolsw(j) = solsw(i, nsrf)               ysolsw(j) = solsw(i, nsrf)
432               ysollw(j) = sollw(i, nsrf)               ysollw(j) = sollw(i, nsrf)
              ysollwdown(j) = sollwdown(i)  
433               yrugos(j) = rugos(i, nsrf)               yrugos(j) = rugos(i, nsrf)
434               yrugoro(j) = rugoro(i)               yrugoro(j) = rugoro(i)
435               yu1(j) = u1lay(i)               yu1(j) = u1lay(i)
# Line 573  contains Line 556  contains
556            ytauy = y_flux_v(:, 1)            ytauy = y_flux_v(:, 1)
557    
558            ! calculer la diffusion de "q" et de "h"            ! calculer la diffusion de "q" et de "h"
559            CALL clqh(dtime, itap, date0, jour, debut, lafin, rlon, &            CALL clqh(dtime, itap, jour, debut, rlat, knon, nsrf, ni, pctsrf, &
560                 rlat, cufi, cvfi, knon, nsrf, ni, pctsrf, soil_model, &                 soil_model, ytsoil, yqsol, ok_veget, ocean, rmu0, co2_ppm, &
561                 ytsoil, yqsol, ok_veget, ocean, npas, nexca, rmu0, &                 yrugos, yrugoro, yu1, yv1, coefh(:knon, :), yt, yq, yts, &
562                 co2_ppm, yrugos, yrugoro, yu1, yv1, coefh(:knon, :), &                 ypaprs, ypplay, ydelp, yrads, yalb, yalblw, ysnow, yqsurf, &
563                 yt, yq, yts, ypaprs, ypplay, ydelp, yrads, yalb, &                 yrain_f, ysnow_f, yfder, ysolsw, yfluxlat, pctsrf_new, &
564                 yalblw, ysnow, yqsurf, yrain_f, ysnow_f, yfder, ytaux, &                 yagesno, y_d_t, y_d_q, y_d_ts, yz0_new, y_flux_t, y_flux_q, &
565                 ytauy, ywindsp, ysollw, ysollwdown, ysolsw, yfluxlat, &                 y_dflux_t, y_dflux_q, y_fqcalving, y_ffonte, y_run_off_lic_0, &
566                 pctsrf_new, yagesno, y_d_t, y_d_q, y_d_ts, yz0_new, &                 y_flux_o, y_flux_g, ytslab, y_seaice)
                y_flux_t, y_flux_q, y_dflux_t, y_dflux_q, y_fqcalving, &  
                y_ffonte, y_run_off_lic_0, y_flux_o, y_flux_g, ytslab, &  
                y_seaice)  
567    
568            ! calculer la longueur de rugosite sur ocean            ! calculer la longueur de rugosite sur ocean
569            yrugm = 0.            yrugm = 0.

Legend:
Removed from v.71  
changed lines
  Added in v.82

  ViewVC Help
Powered by ViewVC 1.1.21