Ignore:
Timestamp:
Apr 14, 2017, 4:42:31 PM (7 years ago)
Author:
oboucher
Message:

Introducing dry AOD diagnostics for the total aerosols and specieswise
The calculations are only performed if the diagnostics are requested

Location:
LMDZ5/trunk/libf/phylmd/rrtm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/rrtm/aeropt_5wv_rrtm.F90

    r2842 r2854  
    88   flag_bc_internal_mixture, &
    99   pplay, t_seri,            &
    10    tausum, tau )
     10   tausum, drytausum, tau )
    1111
    1212  USE DIMPHY
    1313  USE aero_mod
    14   USE phys_local_var_mod, ONLY: od443aer,od550aer,od865aer,ec550aer,od550lt1aer,abs550aer
     14  USE phys_local_var_mod, ONLY: od443aer,od550aer,dryod550aer,od865aer,ec550aer,od550lt1aer,abs550aer
     15  USE phys_output_var_mod, ONLY: dryaod_diag
    1516  USE YOMCST, ONLY: RD,RG
    1617
     
    6768  REAL, DIMENSION(klon), INTENT(OUT)                      :: ai      ! POLDER aerosol index
    6869  REAL, DIMENSION(klon,nwave,naero_tot), INTENT(OUT)      :: tausum
     70  REAL, DIMENSION(klon,naero_tot), INTENT(OUT)            :: drytausum
    6971  REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(OUT) :: tau
    7072  !
     
    342344  ! Initialisations
    343345  ai(:) = 0.
     346  abs550aer(:)=0.0
     347  drytausum(:,:) = 0.
    344348  tausum(:,:,:) = 0.
    345349  tau(:,:,:,:)=0.
    346 
    347   abs550aer(:)=0.0
    348350
    349351  DO k=1, klev
     
    476478    DO la=1,las
    477479
    478     !--only 443, 550, 670 and 865 nm are used
     480    !--only 443, 550, and 865 nm are used
    479481    !--to save time 670 and AI are not computed for CMIP6
    480482    !IF (la.NE.la443.AND.la.NE.la550.AND.la.NE.la670.AND.la.NE.la865) CYCLE
     
    511513             tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex)
    512514
     515             IF (la.EQ.la550.AND.dryaod_diag) THEN
     516                tau_ae5wv_int = alpha_MG_5wv(1,la,classbc)
     517                drytausum(i,aerindex)=drytausum(i,aerindex)+m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*tau_ae5wv_int*fac
     518             ENDIF
     519
    513520             IF (la.EQ.la550) THEN
    514521                abs_ae5wv_int = abs_MG_5wv(RH_num(i,k),la,classbc)+DELTA(i,k)* &
     
    532539              tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex)
    533540
     541              IF (la.EQ.la550.AND.dryaod_diag) THEN
     542                 tau_ae5wv_int = alpha_aers_5wv(1,la,spsol)
     543                 drytausum(i,aerindex)=drytausum(i,aerindex)+m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*tau_ae5wv_int*fac
     544              ENDIF
     545
    534546              IF (la.EQ.la550) THEN
    535547                 abs_ae5wv_int = abs_aers_5wv(RH_num(i,k),la,spsol)+DELTA(i,k)* &
     
    554566            tausum(i,la,aerindex)= tausum(i,la,aerindex)+tau(i,k,la,aerindex)
    555567
     568            IF (la.EQ.la550.AND.dryaod_diag) THEN
     569              drytausum(i,aerindex)= drytausum(i,aerindex)+tau(i,k,la,aerindex)
     570            ENDIF
     571
    556572            IF (la.EQ.la550) THEN
    557573               abs_ae5wv_int = abs_aeri_5wv(la,spsol)
     
    573589  od865aer(:)=SUM(tausum(:,la865,:),dim=2)
    574590
     591!--dry AOD calculation for diagnostics la=la550
     592  dryod550aer(:)=SUM(drytausum(:,:),dim=2)
     593
    575594!--extinction coefficient for diagnostic
    576595  ec550aer(:,:)=SUM(tau(:,:,la550,:),dim=3)/zdh(:,:)
  • LMDZ5/trunk/libf/phylmd/rrtm/readaerosol_optic_rrtm.F90

    r2823 r2854  
    66     tr_seri, mass_solu_aero, mass_solu_aero_pi, &
    77     tau_aero, piz_aero, cg_aero, &
    8      tausum_aero, tau3d_aero )
     8     tausum_aero, drytausum_aero, tau3d_aero )
    99
    1010  ! This routine will :
     
    5252  REAL, DIMENSION(klon,klev,2,NSW), INTENT(OUT) :: cg_aero     ! asymmetry parameter aerosol
    5353  REAL, DIMENSION(klon,nwave,naero_tot), INTENT(OUT)       :: tausum_aero
     54  REAL, DIMENSION(klon,naero_tot), INTENT(OUT)             :: drytausum_aero
    5455  REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(OUT)  :: tau3d_aero
    5556
     
    320321       flag_bc_internal_mixture,     &
    321322       pplay, t_seri,                &
    322        tausum_aero, tau3d_aero )
     323       tausum_aero, drytausum_aero, tau3d_aero )
    323324
    324325  !--call LW optical properties for tropospheric aerosols
Note: See TracChangeset for help on using the changeset viewer.