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

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

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

revision 191 by guez, Mon May 9 19:56:28 2016 UTC revision 200 by guez, Thu Jun 2 15:40:30 2016 UTC
# Line 16  contains Line 16  contains
16    
17      use aaam_bud_m, only: aaam_bud      use aaam_bud_m, only: aaam_bud
18      USE abort_gcm_m, ONLY: abort_gcm      USE abort_gcm_m, ONLY: abort_gcm
     use aeropt_m, only: aeropt  
19      use ajsec_m, only: ajsec      use ajsec_m, only: ajsec
20      use calltherm_m, only: calltherm      use calltherm_m, only: calltherm
21      USE clesphys, ONLY: cdhmax, cdmmax, ecrit_hf, ecrit_ins, ecrit_mth, &      USE clesphys, ONLY: cdhmax, cdmmax, ecrit_hf, ecrit_ins, ecrit_mth, &
# Line 61  contains Line 60  contains
60      USE phytrac_m, ONLY: phytrac      USE phytrac_m, ONLY: phytrac
61      USE qcheck_m, ONLY: qcheck      USE qcheck_m, ONLY: qcheck
62      use radlwsw_m, only: radlwsw      use radlwsw_m, only: radlwsw
     use readsulfate_m, only: readsulfate  
     use readsulfate_preind_m, only: readsulfate_preind  
63      use yoegwd, only: sugwd      use yoegwd, only: sugwd
64      USE suphec_m, ONLY: rcpd, retv, rg, rlvtt, romega, rsigma, rtt      USE suphec_m, ONLY: rcpd, retv, rg, rlvtt, romega, rsigma, rtt
65      use time_phylmdz, only: itap, increment_itap      use time_phylmdz, only: itap, increment_itap
# Line 118  contains Line 115  contains
115      LOGICAL, PARAMETER:: ok_stratus = .FALSE.      LOGICAL, PARAMETER:: ok_stratus = .FALSE.
116      ! Ajouter artificiellement les stratus      ! Ajouter artificiellement les stratus
117    
118      ! pour phsystoke avec thermiques      ! pour phystoke avec thermiques
119      REAL fm_therm(klon, llm + 1)      REAL fm_therm(klon, llm + 1)
120      REAL entr_therm(klon, llm)      REAL entr_therm(klon, llm)
121      real, save:: q2(klon, llm + 1, nbsrf)      real, save:: q2(klon, llm + 1, nbsrf)
# Line 306  contains Line 303  contains
303      REAL, PARAMETER:: t_coup = 234.      REAL, PARAMETER:: t_coup = 234.
304      REAL zphi(klon, llm)      REAL zphi(klon, llm)
305    
306      ! cf. Anne Mathieu variables pour la couche limite atmosphérique (hbtm)      ! cf. Anne Mathieu, variables pour la couche limite atmosphérique (hbtm)
307    
308      REAL, SAVE:: pblh(klon, nbsrf) ! Hauteur de couche limite      REAL, SAVE:: pblh(klon, nbsrf) ! Hauteur de couche limite
309      REAL, SAVE:: plcl(klon, nbsrf) ! Niveau de condensation de la CLA      REAL, SAVE:: plcl(klon, nbsrf) ! Niveau de condensation de la CLA
# Line 414  contains Line 411  contains
411      INTEGER:: ip_ebil = 0 ! print level for energy conservation diagnostics      INTEGER:: ip_ebil = 0 ! print level for energy conservation diagnostics
412      INTEGER:: if_ebil = 0 ! verbosity for diagnostics of energy conservation      INTEGER:: if_ebil = 0 ! verbosity for diagnostics of energy conservation
413    
414      REAL d_t_ec(klon, llm) ! tendance due \`a la conversion Ec -> E thermique      REAL d_t_ec(klon, llm)
415        ! tendance due \`a la conversion Ec en énergie thermique
416    
417      REAL ZRCPD      REAL ZRCPD
418    
419      REAL t2m(klon, nbsrf), q2m(klon, nbsrf) ! temperature and humidity at 2 m      REAL t2m(klon, nbsrf), q2m(klon, nbsrf) ! temperature and humidity at 2 m
# Line 442  contains Line 441  contains
441      REAL topswad(klon), solswad(klon) ! aerosol direct effect      REAL topswad(klon), solswad(klon) ! aerosol direct effect
442      REAL topswai(klon), solswai(klon) ! aerosol indirect effect      REAL topswai(klon), solswai(klon) ! aerosol indirect effect
443    
     REAL aerindex(klon) ! POLDER aerosol index  
   
444      LOGICAL:: ok_ade = .false. ! apply aerosol direct effect      LOGICAL:: ok_ade = .false. ! apply aerosol direct effect
445      LOGICAL:: ok_aie = .false. ! apply aerosol indirect effect      LOGICAL:: ok_aie = .false. ! apply aerosol indirect effect
446    
# Line 823  contains Line 820  contains
820         da = 0.         da = 0.
821         mp = 0.         mp = 0.
822         phi = 0.         phi = 0.
823         CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, v_seri, sig1, &         CALL concvl(paprs, play, t_seri, q_seri, u_seri, v_seri, sig1, w01, &
824              w01, d_t_con, d_q_con, d_u_con, d_v_con, rain_con, ibas_con, &              d_t_con, d_q_con, d_u_con, d_v_con, rain_con, ibas_con, itop_con, &
825              itop_con, upwd, dnwd, dnwd0, Ma, cape, iflagctrl, qcondc, pmflxr, &              upwd, dnwd, dnwd0, Ma, cape, iflagctrl, qcondc, pmflxr, da, phi, mp)
             da, phi, mp)  
826         snow_con = 0.         snow_con = 0.
827         clwcon0 = qcondc         clwcon0 = qcondc
828         mfu = upwd + dnwd         mfu = upwd + dnwd
# Line 922  contains Line 918  contains
918         t_seri = t_seri + d_t_ajs         t_seri = t_seri + d_t_ajs
919         q_seri = q_seri + d_q_ajs         q_seri = q_seri + d_q_ajs
920      else      else
        ! Thermiques  
921         call calltherm(dtphys, play, paprs, pphi, u_seri, v_seri, t_seri, &         call calltherm(dtphys, play, paprs, pphi, u_seri, v_seri, t_seri, &
922              q_seri, d_u_ajs, d_v_ajs, d_t_ajs, d_q_ajs, fm_therm, entr_therm)              q_seri, d_u_ajs, d_v_ajs, d_t_ajs, d_q_ajs, fm_therm, entr_therm)
923      endif      endif
# Line 1108  contains Line 1103  contains
1103      ENDDO      ENDDO
1104    
1105      ! Introduce the aerosol direct and first indirect radiative forcings:      ! Introduce the aerosol direct and first indirect radiative forcings:
1106      IF (ok_ade .OR. ok_aie) THEN      tau_ae = 0.
1107         ! Get sulfate aerosol distribution :      piz_ae = 0.
1108         CALL readsulfate(dayvrai, time, firstcal, sulfate)      cg_ae = 0.
        CALL readsulfate_preind(dayvrai, time, firstcal, sulfate_pi)  
   
        CALL aeropt(play, paprs, t_seri, sulfate, rhcl, tau_ae, piz_ae, cg_ae, &  
             aerindex)  
     ELSE  
        tau_ae = 0.  
        piz_ae = 0.  
        cg_ae = 0.  
     ENDIF  
1109    
1110      ! Param\`etres optiques des nuages et quelques param\`etres pour      ! Param\`etres optiques des nuages et quelques param\`etres pour
1111      ! diagnostics :      ! diagnostics :
# Line 1275  contains Line 1261  contains
1261    
1262      ! Accumuler les variables a stocker dans les fichiers histoire:      ! Accumuler les variables a stocker dans les fichiers histoire:
1263    
1264      ! conversion Ec -> E thermique      ! conversion Ec en énergie thermique
1265      DO k = 1, llm      DO k = 1, llm
1266         DO i = 1, klon         DO i = 1, klon
1267            ZRCPD = RCPD * (1. + RVTMP2 * q_seri(i, k))            ZRCPD = RCPD * (1. + RVTMP2 * q_seri(i, k))

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

  ViewVC Help
Powered by ViewVC 1.1.21