5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE SW(PSCT, PRMU0, PFRAC, PPMB, PDP, PPSOL, PALBD, PALBP, PTAVE, & |
SUBROUTINE SW(PSCT, PRMU0, PFRAC, PPMB, PDP, PPSOL, PALBD, PALBP, PTAVE, & |
8 |
PWV, PQS, POZON, PAER, PCLDSW, PTAU, POMEGA, PCG, PHEAT, PHEAT0, & |
PWV, PQS, POZON, PCLDSW, PTAU, POMEGA, PCG, PHEAT, PHEAT0, & |
9 |
PALBPLA, PTOPSW, PSOLSW, PTOPSW0, PSOLSW0, ZFSUP, ZFSDN, ZFSUP0, & |
PALBPLA, PTOPSW, PSOLSW, PTOPSW0, PSOLSW0, ZFSUP, ZFSDN, ZFSUP0, & |
10 |
ZFSDN0, tauae, pizae, cgae, PTAUA, POMEGAA, PTOPSWAD, PSOLSWAD, & |
ZFSDN0, tauae, pizae, cgae, PTAUA, POMEGAA, PTOPSWAD, PSOLSWAD, & |
11 |
PTOPSWAI, PSOLSWAI, ok_ade, ok_aie) |
PTOPSWAI, PSOLSWAI, ok_ade, ok_aie) |
33 |
|
|
34 |
USE raddim, ONLY: kdlon, kflev |
USE raddim, ONLY: kdlon, kflev |
35 |
USE suphec_m, ONLY: rcpd, rday, rg |
USE suphec_m, ONLY: rcpd, rday, rg |
36 |
|
use sw1s_m, only: sw1s |
37 |
|
use sw2s_m, only: sw2s |
38 |
|
|
39 |
! ARGUMENTS: |
! ARGUMENTS: |
40 |
|
|
51 |
DOUBLE PRECISION PWV(KDLON, KFLEV) ! SPECIFIC HUMIDITY (KG/KG) |
DOUBLE PRECISION PWV(KDLON, KFLEV) ! SPECIFIC HUMIDITY (KG/KG) |
52 |
DOUBLE PRECISION PQS(KDLON, KFLEV) ! SATURATED WATER VAPOUR (KG/KG) |
DOUBLE PRECISION PQS(KDLON, KFLEV) ! SATURATED WATER VAPOUR (KG/KG) |
53 |
DOUBLE PRECISION POZON(KDLON, KFLEV) ! OZONE CONCENTRATION (KG/KG) |
DOUBLE PRECISION POZON(KDLON, KFLEV) ! OZONE CONCENTRATION (KG/KG) |
|
DOUBLE PRECISION PAER(KDLON, KFLEV, 5) ! AEROSOLS' OPTICAL THICKNESS |
|
54 |
|
|
55 |
DOUBLE PRECISION PALBD(KDLON, 2) ! albedo du sol (lumiere diffuse) |
DOUBLE PRECISION PALBD(KDLON, 2) ! albedo du sol (lumiere diffuse) |
56 |
DOUBLE PRECISION PALBP(KDLON, 2) ! albedo du sol (lumiere parallele) |
DOUBLE PRECISION PALBP(KDLON, 2) ! albedo du sol (lumiere parallele) |
161 |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
162 |
INU = 1 |
INU = 1 |
163 |
CALL SW1S(INU, & |
CALL SW1S(INU, & |
164 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
165 |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, ZCLDSW0, & |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
166 |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
167 |
ZFD, ZFU) |
ZFD, ZFU) |
168 |
INU = 2 |
INU = 2 |
169 |
CALL SW2S(INU, & |
CALL SW2S(INU, & |
170 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
171 |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, ZCLDSW0, & |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
172 |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
173 |
PWV, PQS, & |
PWV, PQS, & |
174 |
ZFDOWN, ZFUP) |
ZFDOWN, ZFUP) |
185 |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
186 |
INU = 1 |
INU = 1 |
187 |
CALL SW1S(INU, & |
CALL SW1S(INU, & |
188 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
189 |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, & |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
190 |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
191 |
ZFD, ZFU) |
ZFD, ZFU) |
192 |
INU = 2 |
INU = 2 |
193 |
CALL SW2S(INU, & |
CALL SW2S(INU, & |
194 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
195 |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, & |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
196 |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
197 |
PWV, PQS, & |
PWV, PQS, & |
198 |
ZFDOWN, ZFUP) |
ZFDOWN, ZFUP) |
214 |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
215 |
INU = 1 |
INU = 1 |
216 |
CALL SW1S(INU, & |
CALL SW1S(INU, & |
217 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
218 |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, & |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
219 |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
220 |
ZFD, ZFU) |
ZFD, ZFU) |
221 |
INU = 2 |
INU = 2 |
222 |
CALL SW2S(INU, & |
CALL SW2S(INU, & |
223 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
224 |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, & |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
225 |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
ZDSIG, POMEGA, ZOZ, ZRMU, ZSEC, PTAU, ZUD, & |
226 |
PWV, PQS, & |
PWV, PQS, & |
227 |
ZFDOWN, ZFUP) |
ZFDOWN, ZFUP) |
243 |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
ZAKI, ZCLD, ZCLEAR, ZDSIG, ZFACT, ZRMU, ZSEC, ZUD) |
244 |
INU = 1 |
INU = 1 |
245 |
CALL SW1S(INU, & |
CALL SW1S(INU, & |
246 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
247 |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, & |
PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
248 |
ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, & |
ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, & |
249 |
ZFD, ZFU) |
ZFD, ZFU) |
250 |
INU = 2 |
INU = 2 |
251 |
CALL SW2S(INU, & |
CALL SW2S(INU, & |
252 |
PAER, flag_aer, tauae, pizae, cgae, & |
flag_aer, tauae, pizae, cgae, & |
253 |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, PCLDSW, & |
ZAKI, PALBD, PALBP, PCG, ZCLD, ZCLEAR, & |
254 |
ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, & |
ZDSIG, POMEGAA, ZOZ, ZRMU, ZSEC, PTAUA, ZUD, & |
255 |
PWV, PQS, & |
PWV, PQS, & |
256 |
ZFDOWN, ZFUP) |
ZFDOWN, ZFUP) |