39 |
! cldfra---input-R- fraction nuageuse (entre 0 et 1) |
! cldfra---input-R- fraction nuageuse (entre 0 et 1) |
40 |
! cldtaupd---input-R- epaisseur optique des nuages dans le visible (present-day value) |
! cldtaupd---input-R- epaisseur optique des nuages dans le visible (present-day value) |
41 |
! cldemi---input-R- emissivite des nuages dans l'IR (entre 0 et 1) |
! cldemi---input-R- emissivite des nuages dans l'IR (entre 0 et 1) |
|
! ok_ade---input-L- apply the Aerosol Direct Effect or not? |
|
|
! ok_aie---input-L- apply the Aerosol Indirect Effect or not? |
|
42 |
! tau_ae, piz_ae, cg_ae-input-R- aerosol optical properties (calculated in aeropt.F) |
! tau_ae, piz_ae, cg_ae-input-R- aerosol optical properties (calculated in aeropt.F) |
43 |
! cldtaupi-input-R- epaisseur optique des nuages dans le visible |
! cldtaupi-input-R- epaisseur optique des nuages dans le visible |
44 |
! calculated for pre-industrial (pi) aerosol concentrations, i.e. with smaller |
! calculated for pre-industrial (pi) aerosol concentrations, i.e. with smaller |
49 |
! radsol---output-R- bilan radiatif net au sol (W/m**2) (+ vers le bas) |
! radsol---output-R- bilan radiatif net au sol (W/m**2) (+ vers le bas) |
50 |
! albpla---output-R- albedo planetaire (entre 0 et 1) |
! albpla---output-R- albedo planetaire (entre 0 et 1) |
51 |
! topsw----output-R- flux solaire net au sommet de l'atm. |
! topsw----output-R- flux solaire net au sommet de l'atm. |
|
! toplw----output-R- ray. IR montant au sommet de l'atmosphere |
|
52 |
! solsw----output-R- flux solaire net a la surface |
! solsw----output-R- flux solaire net a la surface |
53 |
! sollw----output-R- ray. IR montant a la surface |
! sollw----output-R- ray. IR montant a la surface |
54 |
! solswad---output-R- ray. solaire net absorbe a la surface (aerosol dir) |
! solswad---output-R- ray. solaire net absorbe a la surface (aerosol dir) |
80 |
|
|
81 |
real cool(klon, klev) |
real cool(klon, klev) |
82 |
real heat0(klon, klev), cool0(klon, klev) |
real heat0(klon, klev), cool0(klon, klev) |
83 |
real radsol(klon), topsw(klon), toplw(klon) |
real radsol(klon), topsw(klon) |
84 |
|
|
85 |
|
real, intent(out):: toplw(klon) |
86 |
|
! rayonnement infrarouge montant au sommet de l'atmosphère |
87 |
|
|
88 |
real solsw(klon), sollw(klon), albpla(klon) |
real solsw(klon), sollw(klon), albpla(klon) |
89 |
real topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon) |
real topsw0(klon), solsw0(klon), sollw0(klon) |
90 |
|
real, intent(out):: toplw0(klon) |
91 |
real sollwdown(klon) |
real sollwdown(klon) |
92 |
!IM output 3D |
!IM output 3D |
93 |
DOUBLE PRECISION ZFSUP(KDLON, KLEV+1) |
DOUBLE PRECISION ZFSUP(KDLON, KLEV+1) |
102 |
|
|
103 |
DOUBLE PRECISION zx_alpha1, zx_alpha2 |
DOUBLE PRECISION zx_alpha1, zx_alpha2 |
104 |
|
|
105 |
INTEGER k, kk, i, j, iof, nb_gr |
INTEGER k, kk, i, iof, nb_gr |
106 |
EXTERNAL lw |
EXTERNAL lw |
107 |
|
|
108 |
DOUBLE PRECISION PSCT |
DOUBLE PRECISION PSCT |
155 |
|
|
156 |
logical ok_ade, ok_aie |
logical ok_ade, ok_aie |
157 |
! switches whether to use aerosol direct (indirect) effects or not |
! switches whether to use aerosol direct (indirect) effects or not |
158 |
|
! ok_ade---input-L- apply the Aerosol Direct Effect or not? |
159 |
|
! ok_aie---input-L- apply the Aerosol Indirect Effect or not? |
160 |
|
|
161 |
double precision tauae(kdlon, klev, 2) ! aer opt properties |
double precision tauae(kdlon, klev, 2) ! aer opt properties |
162 |
double precision pizae(kdlon, klev, 2) |
double precision pizae(kdlon, klev, 2) |
192 |
zdist = dist |
zdist = dist |
193 |
PSCT = solaire / zdist / zdist |
PSCT = solaire / zdist / zdist |
194 |
|
|
195 |
loop_nbgr: DO j = 1, nb_gr |
loop_iof: DO iof = 0, klon - kdlon, kdlon |
|
iof = kdlon * (j - 1) |
|
|
|
|
196 |
DO i = 1, kdlon |
DO i = 1, kdlon |
197 |
zfract(i) = fract(iof+i) |
zfract(i) = fract(iof+i) |
198 |
zrmu0(i) = rmu0(iof+i) |
zrmu0(i) = rmu0(iof+i) |
357 |
cool0(iof+i, k) = zcool0(i, k)/zznormcp |
cool0(iof+i, k) = zcool0(i, k)/zznormcp |
358 |
ENDDO |
ENDDO |
359 |
ENDDO |
ENDDO |
360 |
end DO loop_nbgr |
end DO loop_iof |
361 |
|
|
362 |
END SUBROUTINE radlwsw |
END SUBROUTINE radlwsw |
363 |
|
|