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, & |
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 |
439 |
REAL topswad(klon), solswad(klon) ! aerosol direct effect |
REAL topswad(klon), solswad(klon) ! aerosol direct effect |
440 |
REAL topswai(klon), solswai(klon) ! aerosol indirect effect |
REAL topswai(klon), solswai(klon) ! aerosol indirect effect |
441 |
|
|
|
REAL aerindex(klon) ! POLDER aerosol index |
|
|
|
|
442 |
LOGICAL:: ok_ade = .false. ! apply aerosol direct effect |
LOGICAL:: ok_ade = .false. ! apply aerosol direct effect |
443 |
LOGICAL:: ok_aie = .false. ! apply aerosol indirect effect |
LOGICAL:: ok_aie = .false. ! apply aerosol indirect effect |
444 |
|
|
818 |
da = 0. |
da = 0. |
819 |
mp = 0. |
mp = 0. |
820 |
phi = 0. |
phi = 0. |
821 |
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, & |
822 |
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, & |
823 |
itop_con, upwd, dnwd, dnwd0, Ma, cape, iflagctrl, qcondc, pmflxr, & |
upwd, dnwd, dnwd0, Ma, cape, iflagctrl, qcondc, pmflxr, da, phi, mp) |
|
da, phi, mp) |
|
824 |
snow_con = 0. |
snow_con = 0. |
825 |
clwcon0 = qcondc |
clwcon0 = qcondc |
826 |
mfu = upwd + dnwd |
mfu = upwd + dnwd |
1102 |
ENDDO |
ENDDO |
1103 |
|
|
1104 |
! Introduce the aerosol direct and first indirect radiative forcings: |
! Introduce the aerosol direct and first indirect radiative forcings: |
1105 |
IF (ok_ade .OR. ok_aie) THEN |
tau_ae = 0. |
1106 |
! Get sulfate aerosol distribution : |
piz_ae = 0. |
1107 |
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 |
|
1108 |
|
|
1109 |
! Param\`etres optiques des nuages et quelques param\`etres pour |
! Param\`etres optiques des nuages et quelques param\`etres pour |
1110 |
! diagnostics : |
! diagnostics : |