Changeset 1263 for LMDZ4/branches/LMDZ4-dev/libf/phylmd/radlwsw.F90
- Timestamp:
- Nov 17, 2009, 2:00:14 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/radlwsw.F90
r1246 r1263 1 module radlwsw_m 2 3 IMPLICIT NONE 4 5 contains 6 1 7 SUBROUTINE radlwsw( & 2 8 dist, rmu0, fract, & … … 24 30 25 31 USE DIMPHY 26 27 IMPLICIT NONE 32 use assert_m, only: assert 33 28 34 !====================================================================== 29 35 ! Auteur(s): Z.X. Li (LMD/CNRS) date: 19960719 … … 103 109 REAL, INTENT(in) :: t(KLON,KLEV), q(KLON,KLEV) 104 110 105 REAL, INTENT(in):: wo(KLON,KLEV)111 REAL, INTENT(in):: wo(:, :, :) ! dimension(KLON,KLEV, 1 or 2) 106 112 ! column-density of ozone in a layer, in kilo-Dobsons 113 ! "wo(:, :, 1)" is for the average day-night field, 114 ! "wo(:, :, 2)" is for daylight time. 107 115 108 116 LOGICAL, INTENT(in) :: ok_ade, ok_aie ! switches whether to use aerosol direct (indirect) effects or not … … 157 165 REAL(KIND=8) PTAVE(kdlon,kflev) 158 166 REAL(KIND=8) PWV(kdlon,kflev), PQS(kdlon,kflev) 159 real(kind=8) POZON(kdlon,kflev) ! mass fraction of ozone 167 168 real(kind=8) POZON(kdlon, kflev, size(wo, 3)) ! mass fraction of ozone 169 ! "POZON(:, :, 1)" is for the average day-night field, 170 ! "POZON(:, :, 2)" is for daylight time. 171 160 172 REAL(KIND=8) PAER(kdlon,kflev,5) 161 173 REAL(KIND=8) PCLDLD(kdlon,kflev) … … 187 199 real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2 188 200 201 call assert(size(wo, 1) == klon, size(wo, 2) == klev, "radlwsw wo") 189 202 ! initialisation 190 203 tauaero(:,:,:,:)=0. … … 245 258 PWV(i,k) = MAX (q(iof+i,k), 1.0e-12) 246 259 PQS(i,k) = PWV(i,k) 247 POZON(i,k ) = wo(iof+i, k) * RG * dobson_u * 1e3 &260 POZON(i,k, :) = wo(iof+i, k, :) * RG * dobson_u * 1e3 & 248 261 / (paprs(iof+i, k) - paprs(iof+i, k+1)) 249 262 PCLDLD(i,k) = cldfra(iof+i,k)*cldemi(iof+i,k) … … 298 311 IF (iflag_rrtm == 0) THEN 299 312 ! Old radiation scheme, used for AR4 runs 313 ! average day-night ozone for longwave 300 314 CALL LW_LMDAR4(& 301 315 PPMB, PDP,& 302 316 PPSOL,PDT0,PEMIS,& 303 PTL, PTAVE, PWV, POZON , PAER,&317 PTL, PTAVE, PWV, POZON(:, :, 1), PAER,& 304 318 PCLDLD,PCLDLU,& 305 319 PVIEW,& … … 309 323 ZFLUP, ZFLDN, ZFLUP0,ZFLDN0) 310 324 311 325 ! daylight ozone, if we have it, for short wave 312 326 IF (.NOT. new_aod) THEN 313 327 ! use old version … … 315 329 PPMB, PDP, & 316 330 PPSOL, PALBD, PALBP,& 317 PTAVE, PWV, PQS, POZON , PAER,&331 PTAVE, PWV, PQS, POZON(:, :, size(wo, 3)), PAER,& 318 332 PCLDSW, PTAU, POMEGA, PCG,& 319 333 zheat, zheat0,& … … 330 344 PPMB, PDP,& 331 345 PPSOL, PALBD, PALBP,& 332 PTAVE, PWV, PQS, POZON , PAER,&346 PTAVE, PWV, PQS, POZON(:, :, size(wo, 3)), PAER,& 333 347 PCLDSW, PTAU, POMEGA, PCG,& 334 348 zheat, zheat0,& … … 438 452 ENDDO ! j = 1, nb_gr 439 453 440 441 454 END SUBROUTINE radlwsw 442 455 443 456 end module radlwsw_m
Note: See TracChangeset
for help on using the changeset viewer.