Changeset 3959 for trunk/LMDZ.PLUTO/libf/phypluto/optcv.F90
- Timestamp:
- Nov 12, 2025, 6:12:16 PM (5 weeks ago)
- File:
-
- 1 edited
-
trunk/LMDZ.PLUTO/libf/phypluto/optcv.F90 (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO/libf/phypluto/optcv.F90
r3947 r3959 15 15 igas_CH4, igas_N2 16 16 use comcstfi_mod, only: g, r, mugaz 17 use callkeys_mod, only: kastprof,continuum,graybody,callgasvis,callmufi,Fabs_aers_VI,Fabs_aerf_VI 17 use callkeys_mod, only: kastprof,continuum,graybody,callgasvis,callmufi,callmuclouds, & 18 Fabs_aers_VI,Fabs_aerf_VI,Fabs_cldd_VI 18 19 use recombin_corrk_mod, only: corrk_recombin, gasv_recomb 19 20 use tpindex_mod, only: tpindex … … 146 147 wbarv_aer(:,:,:) = 1.0 147 148 148 if (callmufi) then149 if (callmufi) then 149 150 Fabs_aer(1) = Fabs_aers_VI 150 151 Fabs_aer(2) = Fabs_aerf_VI 152 if (callmuclouds) then 153 Fabs_aer(3) = Fabs_cldd_VI 154 endif 151 155 else 152 156 Fabs_aer(:) = 1.0 … … 185 189 do K=5,L_LEVELS 186 190 TAEROS(K,NW,IAER) = TAUAERO(K,IAER) * QXVAER(K,NW,IAER) 187 ! Aerosol absorption correction --> impact on opacity.191 ! Aerosol/Cloud absorption correction --> impact on opacity. 188 192 if (callmufi .and. (TAEROS(K,NW,IAER).gt.0.d0)) then 189 193 TAEROS(K,NW,IAER) = TAEROS(K,NW,IAER) * & … … 376 380 btemp(L,NW) = btemp(L,NW) + TAUAEROLK(K,NW,2) + TAUAEROLK(K+1,NW,2) 377 381 endif 382 383 ! Cloud absorption correction --> impact on single scattering albedo. 384 if (callmuclouds) then 385 if ((TAEROS(K,NW,3).gt.0.d0) .and. TAEROS(K+1,NW,3).gt.0.d0) then 386 btemp(L,NW) = btemp(L,NW) + & 387 (TAUAEROLK(K,NW,3) / & 388 (QSVAER(K,NW,3)/QXVAER(K,NW,3) + & 389 Fabs_aer(3)*(1.-QSVAER(K,NW,3)/QXVAER(K,NW,3)))) + & 390 (TAUAEROLK(K+1,NW,3) / & 391 (QSVAER(K+1,NW,3)/QXVAER(K+1,NW,3) + & 392 Fabs_aer(3)*(1.-QSVAER(K+1,NW,3)/QXVAER(K+1,NW,3)))) 393 else 394 btemp(L,NW) = btemp(L,NW) + TAUAEROLK(K,NW,3) + TAUAEROLK(K+1,NW,3) 395 endif 396 endif ! end callmuclouds 378 397 else 379 398 btemp(L,NW) = SUM(TAUAEROLK(K,NW,1:naerkind)) + SUM(TAUAEROLK(K+1,NW,1:naerkind)) … … 409 428 btemp(L,NW) = btemp(L,NW) + TAUAEROLK(K,NW,2) 410 429 endif 430 ! Cloud absorption correction --> impact on single scattering albedo. 431 if (callmuclouds) then 432 if (TAEROS(K,NW,3).gt.0.d0) then 433 btemp(L,NW) = btemp(L,NW) + & 434 (TAUAEROLK(K,NW,3) / & 435 (QSVAER(K,NW,3)/QXVAER(K,NW,3) + & 436 Fabs_aer(3)*(1.-QSVAER(K,NW,3)/QXVAER(K,NW,3)))) 437 else 438 btemp(L,NW) = btemp(L,NW) + TAUAEROLK(K,NW,3) 439 endif 440 endif ! end callmuclouds 411 441 else 412 442 btemp(L,NW) = SUM(TAUAEROLK(K,NW,1:naerkind)) … … 421 451 DO NW=1,L_NSPECTV 422 452 DO L=1,L_NLAYRAD-1 423 424 453 K = 2*L+1 425 454 DTAUV(L,nw,ng) = DTAUKV(K,NW,NG) + DTAUKV(K+1,NW,NG) 426 455 WBARV(L,nw,ng) = ctemp(L,NW) / DTAUV(L,nw,ng) 427 428 456 END DO ! L vertical loop 429 457 430 ! Last level 431 432 L = L_NLAYRAD 433 K = 2*L+1 434 DTAUV(L,nw,ng) = DTAUKV(K,NW,NG) 435 436 WBARV(L,NW,NG) = ctemp(L,NW) / DTAUV(L,NW,NG) 437 438 END DO ! NW spectral loop 439 END DO ! NG Gauss loop 458 ! Last level 459 !----------- 460 L = L_NLAYRAD 461 K = 2*L+1 462 463 DTAUV(L,nw,ng) = DTAUKV(K,NW,NG) 464 WBARV(L,NW,NG) = ctemp(L,NW) / DTAUV(L,NW,NG) 465 END DO ! NW spectral loop 466 END DO ! NG Gauss loop 440 467 441 468 ! Aerosols extinction optical depths
Note: See TracChangeset
for help on using the changeset viewer.
