Ignore:
Timestamp:
Apr 7, 2025, 4:05:50 PM (4 months ago)
Author:
lebasn
Message:

StratAer?: add new diags (4 new longwaves for ext+AOD and SO2 chem loss) + update field/file_def.

Location:
LMDZ6/trunk/libf/phylmd/StratAer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/StratAer/calcaerosolstrato_rrtm.f90

    r5559 r5605  
    77  USE iniprint_mod_h
    88  USE phys_state_var_mod, ONLY: tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm, tau_aero_lw_rrtm
    9   USE phys_local_var_mod, ONLY: mdw, tausum_aero, tausum_strat, tau_strat_550, tau_strat_1020, stratomask
     9  USE phys_local_var_mod, ONLY: mdw, tausum_aero, tausum_strat, tau_strat_443, tau_strat_550, &
     10       tau_strat_670, tau_strat_765, tau_strat_1020, tau_strat_10um, stratomask
    1011  USE aero_mod
    1112  USE dimphy
     
    8687  DO k=1,klev
    8788    IF (stratomask(i,k).GT.0.5) THEN
    88       tausum_strat(i,1)=tausum_strat(i,1)+tau_strat_wave(i,k,2)  !--550 nm
    89       tausum_strat(i,2)=tausum_strat(i,2)+tau_strat_wave(i,k,5)  !--1020 nm
    90       tausum_strat(i,3)=tausum_strat(i,3)+tau_strat_wave(i,k,6)  !--10 um
     89      tausum_strat(i,1)=tausum_strat(i,1)+tau_strat_wave(i,k,1)  !--443 nm
     90      tausum_strat(i,2)=tausum_strat(i,2)+tau_strat_wave(i,k,2)  !--550 nm
     91      tausum_strat(i,3)=tausum_strat(i,3)+tau_strat_wave(i,k,3)  !--670 nm
     92      tausum_strat(i,4)=tausum_strat(i,4)+tau_strat_wave(i,k,4)  !--765 nm
     93      tausum_strat(i,5)=tausum_strat(i,5)+tau_strat_wave(i,k,5)  !--1020 nm
     94      tausum_strat(i,6)=tausum_strat(i,6)+tau_strat_wave(i,k,6)  !--10 um
    9195    ENDIF
    9296  ENDDO
     
    97101    zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
    98102    zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
    99     tau_strat_550(i,k)=tau_strat_wave(i,k,2)/zdz
    100     tau_strat_1020(i,k)=tau_strat_wave(i,k,5)/zdz
     103        tau_strat_443(i,k)=tau_strat_wave(i,k,1)/zdz
     104        tau_strat_550(i,k)=tau_strat_wave(i,k,2)/zdz
     105        tau_strat_670(i,k)=tau_strat_wave(i,k,3)/zdz
     106        tau_strat_765(i,k)=tau_strat_wave(i,k,4)/zdz
     107        tau_strat_1020(i,k)=tau_strat_wave(i,k,5)/zdz
     108        tau_strat_10um(i,k)=tau_strat_wave(i,k,6)/zdz
    101109  ENDDO
    102110  ENDDO
  • LMDZ6/trunk/libf/phylmd/StratAer/so2_to_h2so4.f90

    r5268 r5605  
    99  USE yomcst_mod_h, ONLY : RG, RD
    1010  ! lifetime (sec) et O3_clim (VMR)
    11   USE phys_local_var_mod, ONLY : SO2_lifetime, H2SO4_lifetime, O3_clim, budg_3D_so2_to_h2so4, budg_so2_to_h2so4
     11  USE phys_local_var_mod, ONLY : SO2_lifetime,H2SO4_lifetime,O3_clim,budg_3D_so2_to_h2so4,budg_so2_to_h2so4,SO2_chlm
    1212  USE strataer_local_var_mod, ONLY : flag_OH_reduced, flag_H2SO4_photolysis, flag_min_rreduce
    1313 
     
    3232  budg_3D_so2_to_h2so4(:,:)=0.0
    3333  budg_so2_to_h2so4(:)=0.0
    34 
     34  SO2_chlm(:,:)=0.0
     35 
    3536  DO ilon=1, klon
    3637     DO ilev=1, klev
     
    108109           ! IF (SO2_lifetime(ilon,ilev).GT.0.0 .AND. SO2_lifetime(ilon,ilev).LT.1.E10) THEN
    109110           
     111           SO2_chlm(ilon,ilev) = tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/rreduce)) * &
     112                pplay(ilon,ilev)/(t_seri(ilon,ilev)*1.38e-19)  / pdtphys  !SO2 loss rate [mole.cm-3.s-1]
    110113           
    111114           IF (flag_H2SO4_photolysis) THEN
     
    145148                (paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
    146149           budg_so2_to_h2so4(ilon)=budg_so2_to_h2so4(ilon)+budg_3D_so2_to_h2so4(ilon,ilev)
     150        ELSE
     151           ! troposphere
     152           ! SO2 tropospheric lifetime (in sec) set to 5 days
     153           rreduce =  5.0*24.0*60.0*60.0
     154           rrate =tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/rreduce))
     155           tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - rrate
     156           SO2_chlm(ilon,ilev) = rrate * &
     157                pplay(ilon,ilev)/(t_seri(ilon,ilev)*1.38e-19)  / pdtphys  !SO2 loss rate [moleccm-3s-1]
    147158        ENDIF
    148159        ! IF (is_strato(ilon,ilev)) THEN
Note: See TracChangeset for help on using the changeset viewer.