Ignore:
Timestamp:
Jan 8, 2017, 4:44:10 PM (7 years ago)
Author:
oboucher
Message:

Changes to StratAer? module, including setting up a new output file
hence dimension of output metadata is increased to 10 items.

Location:
LMDZ5/trunk/libf/phylmd/StratAer
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/StratAer/aer_sedimnt.F90

    r2690 r2752  
    1414!-----------------------------------------------------------------------
    1515
    16   USE phys_local_var_mod, ONLY: mdw, sfluxaer, DENSO4, f_r_wet, vsed_aer
     16  USE phys_local_var_mod, ONLY: mdw, budg_sed_part, DENSO4, f_r_wet, vsed_aer
    1717  USE dimphy, ONLY : klon,klev
    1818  USE infotrac
     
    106106!---ZAERONWM1 now contains the surface concentration at the new timestep
    107107!---PFLUXAER in unit of xx m-2 s-1
    108 sfluxaer(:)=0.0
     108budg_sed_part(:)=0.0
    109109DO JL=1,klon
    110110  ZRHO=pplay(JL,1)/(RD*t_seri(JL,1))
    111111  DO nb=1,nbtr_bin
    112     !compute sfluxaer as sum over bins in kg(S)/m2/s
    113     sfluxaer(JL)=sfluxaer(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
     112    !compute budg_sed_part as sum over bins in kg(S)/m2/s
     113    budg_sed_part(JL)=budg_sed_part(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
    114114                & *dens_aer_dry*4./3.*RPI*(mdw(nb)/2.)**3
    115115  ENDDO
  • LMDZ5/trunk/libf/phylmd/StratAer/aerophys.F90

    r2690 r2752  
    66  REAL,PARAMETER                         :: dens_aer_dry=1848.682308 ! dry aerosol particle mass density at T_0=293K[kg/m3]
    77  REAL,PARAMETER                         :: dens_aer_ref=1483.905336 ! aerosol particle mass density with 75% H2SO4 at T_0=293K[kg/m3]
    8   REAL,PARAMETER                         :: mdwmin=0.002e-6          ! dry diameter of smallest aerosol particles [m]
     8!  REAL,PARAMETER                         :: mdwmin=0.002e-6          ! dry diameter of smallest aerosol particles [m]
     9  REAL,PARAMETER                         :: mdwmin=0.2e-6          ! dry diameter of smallest aerosol particles [m]  !--testing
    910  REAL,PARAMETER                         :: V_rat=2.0                ! volume ratio of neighboring size bins
    1011  REAL,PARAMETER                         :: mfrac_H2SO4=0.75         ! default mass fraction of H2SO4 in the aerosol
  • LMDZ5/trunk/libf/phylmd/StratAer/interp_sulf_input.F90

    r2704 r2752  
    88  USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
    99  USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
    10   USE phys_local_var_mod, ONLY : OCS_backgr_tend, SO2_backgr_tend
     10  USE phys_local_var_mod, ONLY : budg_3D_backgr_ocs, budg_3D_backgr_so2
    1111  USE phys_local_var_mod, ONLY : OCS_lifetime, SO2_lifetime
    1212  USE mod_phys_lmdz_para
     
    3434  REAL OCS_tmp, SO2_tmp
    3535  INTEGER, SAVE :: mth_pre
     36!$OMP THREADPRIVATE(mth_pre)
    3637
    3738! Champs reconstitues
     
    244245        tr_seri(i,k,id_SO2_strat)=SO2_clim(i,k)
    245246      ENDIF
    246       OCS_backgr_tend(i,k)=tr_seri(i,k,id_OCS_strat)-OCS_tmp
    247       SO2_backgr_tend(i,k)=tr_seri(i,k,id_SO2_strat)-SO2_tmp
     247      budg_3D_backgr_ocs(i,k)=tr_seri(i,k,id_OCS_strat)-OCS_tmp
     248      budg_3D_backgr_so2(i,k)=tr_seri(i,k,id_SO2_strat)-SO2_tmp
    248249    ENDDO
    249250  ENDDO
     
    252253  DO i=1, klon
    253254    DO k=1, klev
    254       SO2_backgr_tend(i,k)=SO2_backgr_tend(i,k)*mSatom/mSO2mol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    255       OCS_backgr_tend(i,k)=OCS_backgr_tend(i,k)*mSatom/mOCSmol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     255      budg_3D_backgr_ocs(i,k)=budg_3D_backgr_ocs(i,k)*mSatom/mOCSmol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     256      budg_3D_backgr_so2(i,k)=budg_3D_backgr_so2(i,k)*mSatom/mSO2mol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    256257    ENDDO
    257258  ENDDO
  • LMDZ5/trunk/libf/phylmd/StratAer/micphy_tstep.F90

    r2695 r2752  
    44  USE aerophys
    55  USE infotrac
    6   USE phys_local_var_mod, ONLY: mdw, sulf_nucl, sulf_cond_evap, R2SO4, DENSO4, f_r_wet
     6  USE phys_local_var_mod, ONLY: mdw, budg_3D_nucl, budg_3D_cond_evap, R2SO4, DENSO4, f_r_wet
    77  USE nucleation_tstep_mod
    88  USE cond_evap_tstep_mod
     
    6868  IF (is_strato(ilon,ilev)) THEN
    6969    ! initialize sulfur fluxes
    70     sulf_nucl(ilon,ilev)=0.0
    71     sulf_cond_evap(ilon,ilev)=0.0
     70    budg_3D_nucl(ilon,ilev)=0.0
     71    budg_3D_cond_evap(ilon,ilev)=0.0
    7272    H2SO4_init=tr_seri(ilon,ilev,id_H2SO4_strat)
    7373    ! adaptive timestep for nucleation and condensation
     
    109109      CALL nucleation_part(nucl_rate,ntot,x,dt,Vbin,tr_seri(ilon,ilev,:))
    110110      ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
    111       sulf_cond_evap(ilon,ilev)=sulf_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
     111      budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
    112112               & *cond_evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
    113       sulf_nucl(ilon,ilev)=sulf_nucl(ilon,ilev)+mSatom/mH2SO4mol &
     113      budg_3D_nucl(ilon,ilev)=budg_3D_nucl(ilon,ilev)+mSatom/mH2SO4mol &
    114114               & *nucl_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
    115115      ! update time step
     
    139139    CALL cond_evap_part(pdtphys,FL,ASO4,f_r_wet(ilon,ilev),RRSI,Vbin,tr_seri(ilon,ilev,:))
    140140    ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
    141     sulf_cond_evap(ilon,ilev)=sulf_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
     141    budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
    142142             & *evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG
    143143  ENDIF
  • LMDZ5/trunk/libf/phylmd/StratAer/ocs_to_so2.F90

    r2695 r2752  
    1 SUBROUTINE ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     1SUBROUTINE ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    22
    33  USE dimphy, ONLY : klon,klev
     
    55  USE infotrac
    66  USE YOMCST, ONLY : RG
    7   USE phys_local_var_mod, ONLY : OCS_lifetime, ocs_convert
     7  USE phys_local_var_mod, ONLY : OCS_lifetime, budg_3D_ocs_to_so2, budg_ocs_to_so2
    88
    99  IMPLICIT NONE
     
    1616  REAL,DIMENSION(klon,klev),INTENT(IN)          :: pplay   ! pression pour le mileu de chaque couche (en Pa)
    1717  REAL,DIMENSION(klon,klev+1),INTENT(IN)        :: paprs   ! pression pour chaque inter-couche (en Pa)
    18   REAL,DIMENSION(klon,klev),INTENT(IN)          :: sh      ! humidite specifique   
    1918  LOGICAL,DIMENSION(klon,klev),INTENT(IN)       :: is_strato
    2019
     
    2322
    2423!--convert OCS to SO2
    25   ocs_convert(:,:)=0.0
     24  budg_3D_ocs_to_so2(:,:)=0.0
     25  budg_ocs_to_so2(:)=0.0
     26
    2627  DO ilon=1, klon
    2728  DO ilev=1, klev
     
    2930  IF (is_strato(ilon,ilev)) THEN
    3031    IF (OCS_lifetime(ilon,ilev).GT.0.0) THEN
    31       ocs_convert(ilon,ilev)=tr_seri(ilon,ilev,id_OCS_strat)*(1.0-exp(-pdtphys/OCS_lifetime(ilon,ilev)))
     32      budg_3D_ocs_to_so2(ilon,ilev)=tr_seri(ilon,ilev,id_OCS_strat)*(1.0-exp(-pdtphys/OCS_lifetime(ilon,ilev)))
    3233    ENDIF
    33     tr_seri(ilon,ilev,id_OCS_strat)=tr_seri(ilon,ilev,id_OCS_strat) - ocs_convert(ilon,ilev)
    34     tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) + mSO2mol/mOCSmol*ocs_convert(ilon,ilev)
    35     !convert ocs_convert from kg(OCS)/kgA to kg(S)/m2/layer/s for saving as diagnostic
    36     ocs_convert(ilon,ilev)=ocs_convert(ilon,ilev)*mSatom/mOCSmol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     34    tr_seri(ilon,ilev,id_OCS_strat)=tr_seri(ilon,ilev,id_OCS_strat) - budg_3D_ocs_to_so2(ilon,ilev)
     35    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) + mSO2mol/mOCSmol*budg_3D_ocs_to_so2(ilon,ilev)
     36    !convert budget from kg(OCS)/kgA to kg(S)/m2/layer/s for saving as diagnostic
     37    budg_3D_ocs_to_so2(ilon,ilev)=budg_3D_ocs_to_so2(ilon,ilev)*mSatom/mOCSmol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     38    budg_ocs_to_so2(ilon)=budg_ocs_to_so2(ilon)+budg_3D_ocs_to_so2(ilon,ilev)
    3739  ENDIF
    3840  ENDDO
  • LMDZ5/trunk/libf/phylmd/StratAer/so2_to_h2so4.F90

    r2695 r2752  
    1 SUBROUTINE SO2_TO_H2SO4(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     1SUBROUTINE SO2_TO_H2SO4(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    22
    33  USE dimphy, ONLY : klon,klev
     
    55  USE infotrac
    66  USE YOMCST, ONLY : RG
    7   USE phys_local_var_mod, ONLY : SO2_lifetime, sulf_convert
     7  USE phys_local_var_mod, ONLY : SO2_lifetime, budg_3D_so2_to_h2so4, budg_so2_to_h2so4
    88
    99  IMPLICIT NONE
     
    1717  REAL,DIMENSION(klon,klev),INTENT(IN)          :: pplay   ! pression pour le mileu de chaque couche (en Pa)
    1818  REAL,DIMENSION(klon,klev+1),INTENT(IN)        :: paprs   ! pression pour chaque inter-couche (en Pa)
    19   REAL,DIMENSION(klon,klev),INTENT(IN)          :: sh      ! humidite specifique   
    2019  LOGICAL,DIMENSION(klon,klev),INTENT(IN)       :: is_strato ! stratospheric flag
    2120
     
    2423
    2524!--convert SO2 to H2SO4
    26   sulf_convert(:,:)=0.0
     25  budg_3D_so2_to_h2so4(:,:)=0.0
     26  budg_so2_to_h2so4(:)=0.0
     27
    2728  DO ilon=1, klon
    2829  DO ilev=1, klev
     
    3031  IF (is_strato(ilon,ilev)) THEN
    3132    IF (SO2_lifetime(ilon,ilev).GT.0.0) THEN
    32       sulf_convert(ilon,ilev)=tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/SO2_lifetime(ilon,ilev)))
     33      budg_3D_so2_to_h2so4(ilon,ilev)=tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/SO2_lifetime(ilon,ilev)))
    3334    ENDIF
    34     tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - sulf_convert(ilon,ilev)
    35     tr_seri(ilon,ilev,id_H2SO4_strat)=tr_seri(ilon,ilev,id_H2SO4_strat) + mH2SO4mol/mSO2mol*sulf_convert(ilon,ilev)
    36     !convert sulf_convert from kg(SO2)/kgA to kg(S)/m2/layer/s for saving as diagnostic
    37     sulf_convert(ilon,ilev)=sulf_convert(ilon,ilev)*mSatom/mSO2mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     35    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - budg_3D_so2_to_h2so4(ilon,ilev)
     36    tr_seri(ilon,ilev,id_H2SO4_strat)=tr_seri(ilon,ilev,id_H2SO4_strat) + mH2SO4mol/mSO2mol*budg_3D_so2_to_h2so4(ilon,ilev)
     37    !convert budget from kg(SO2)/kgA to kg(S)/m2/layer/s for saving as diagnostic
     38    budg_3D_so2_to_h2so4(ilon,ilev)=budg_3D_so2_to_h2so4(ilon,ilev)*mSatom/mSO2mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     39    budg_so2_to_h2so4(ilon)=budg_so2_to_h2so4(ilon)+budg_3D_so2_to_h2so4(ilon,ilev)
    3840  ENDIF
    3941  ENDDO
  • LMDZ5/trunk/libf/phylmd/StratAer/traccoag_mod.F90

    r2704 r2752  
    88  SUBROUTINE traccoag(pdtphys, gmtime, debutphy, julien, &
    99       presnivs, xlat, xlon, pphis, pphi, &
    10        t_seri, pplay, paprs, sh, rh , &
    11        tr_seri)
    12 
    13     USE phys_local_var_mod, ONLY: mdw, sulf_convert, sulf_nucl, sulf_cond_evap, &
    14         & sfluxaer, ocs_convert, R2SO4, DENSO4, f_r_wet, SO2_backgr_tend, OCS_backgr_tend, &
    15         & OCS_lifetime, SO2_lifetime, surf_PM25_sulf
     10       t_seri, pplay, paprs, sh, rh, tr_seri)
     11
     12    USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, &
     13        & budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part
    1614
    1715    USE dimphy
     
    7169    REAL,PARAMETER    :: altemiss_sai=17.e3     ! emission altitude in m
    7270    REAL,PARAMETER    :: sigma_alt_sai=1.e3     ! standard deviation of emission altitude in m
    73     REAL,PARAMETER    :: xlat_sai=0.0           ! latitude of SAI in degree
     71    REAL,PARAMETER    :: xlat_sai=0.01          ! latitude of SAI in degree
    7472    REAL,PARAMETER    :: xlon_sai=120.35        ! longitude of SAI in degree
    7573
     
    9088    REAL                                   :: zrho                ! Density of air [kg/m3]
    9189    REAL                                   :: zdz                 ! thickness of atm. model layer in m
     90    REAL,DIMENSION(klev)                   :: zdm                 ! mass of atm. model layer in kg
    9291    REAL,DIMENSION(klon,klev)              :: dens_aer            ! density of aerosol particles [kg/m3 aerosol] with default H2SO4 mass fraction
    9392    REAL                                   :: dlat, dlon          ! d latitude and d longitude of grid in degree
     93    REAL                                   :: emission            ! emission
    9494
    9595    IF (is_mpi_root) THEN
     
    141141    DO ilon=1, klon
    142142    DO ilev=1, klev
    143       m_air_gridbox(ilon,ilev)=(paprs(ilon,ilev)-paprs(ilon,ilev+1)) / RG * cell_area(ilon)
    144     ENDDO
    145     ENDDO
    146 
    147     IF (debutphy) THEN
    148       CALL gather(tr_seri, tr_seri_glo)
    149       IF (MAXVAL(tr_seri_glo).LT.1.e-30) THEN
     143      m_air_gridbox(ilon,ilev)=(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*cell_area(ilon)
     144    ENDDO
     145    ENDDO
     146
     147!    IF (debutphy) THEN
     148!      CALL gather(tr_seri, tr_seri_glo)
     149!      IF (MAXVAL(tr_seri_glo).LT.1.e-30) THEN
    150150!--initialising tracer concentrations to zero
    151         DO it=1, nbtr
    152         tr_seri(:,:,it)=0.0
    153         ENDDO
    154       ENDIF
    155     ENDIF
     151!        DO it=1, nbtr
     152!        tr_seri(:,:,it)=0.0
     153!        ENDDO
     154!      ENDIF
     155!    ENDIF
     156
     157!--initialise emission diagnostics
     158    budg_emi_ocs(:)=0.0
     159    budg_emi_so2(:)=0.0
     160    budg_emi_h2so4(:)=0.0
     161    budg_emi_part(:)=0.0
    156162
    157163!--sulfur emission, depending on chosen scenario (flag_sulf_emit)
     
    170176          IF  ( xlat(i).GE.xlat_vol-dlat .AND. xlat(i).LT.xlat_vol+dlat .AND. &
    171177                xlon(i).GE.xlon_vol-dlon .AND. xlon(i).LT.xlon_vol+dlon ) THEN
     178!
     179          PRINT *,'coordinates of volcanic injection point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur
    172180!         compute altLMDz
    173181            altLMDz(:)=0.0
    174182            DO k=1, klev
    175               zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
    176               zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
    177               altLMDz(k+1)=altLMDz(k)+zdz
     183              zrho=pplay(i,k)/t_seri(i,k)/RD       !air density in kg/m3
     184              zdm(k)=(paprs(i,k)-paprs(i,k+1))/RG  !mass of layer in kg
     185              zdz=zdm(k)/zrho                      !thickness of layer in m
     186              altLMDz(k+1)=altLMDz(k)+zdz          !altitude of interface
    178187            ENDDO
    179188            !compute distribution of emission to vertical model layers (based on Gaussian peak in altitude)
     
    194203            !vertically distributed emission
    195204            DO k=1, klev
    196               tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+ &
    197               & m_aer_emiss_vol*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k) &
    198               & /(1.*86400./pdtphys) ! stretch emission over one day of Pinatubo eruption
     205              ! stretch emission over one day of Pinatubo eruption
     206              emission=m_aer_emiss_vol*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k)/1./86400.
     207              tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+emission*pdtphys
     208              budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol
    199209            ENDDO
    200210          ENDIF ! emission grid cell
     
    211221        IF  ( xlat(i).GE.xlat_sai-dlat .AND. xlat(i).LT.xlat_sai+dlat .AND. &
    212222          &   xlon(i).GE.xlon_sai-dlon .AND. xlon(i).LT.xlon_sai+dlon ) THEN
     223!
     224          PRINT *,'coordinates of SAI point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur
    213225!         compute altLMDz
    214226          altLMDz(:)=0.0
    215227          DO k=1, klev
    216             zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
    217             zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
    218             altLMDz(k+1)=altLMDz(k)+zdz
     228            zrho=pplay(i,k)/t_seri(i,k)/RD       !air density in kg/m3
     229            zdm(k)=(paprs(i,k)-paprs(i,k+1))/RG  !mass of layer in kg
     230            zdz=zdm(k)/zrho                      !thickness of layer in m
     231            altLMDz(k+1)=altLMDz(k)+zdz          !altitude of interface
    219232          ENDDO
    220233          !compute distribution of emission to vertical model layers (based on Gaussian peak in altitude)
     
    235248          !vertically distributed emission
    236249          DO k=1, klev
    237             tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+ &
    238             & m_aer_emiss_sai*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k) &
    239             & /(360.*86400./pdtphys) ! stretch emission over whole year (360d)
    240 !            & /(60.*86400./pdtphys) ! stretch emission over 2 months (seasonal emission)
    241 !            & /7. ! distribute equally over 7 emission grid points
     250            ! stretch emission over whole year (360d)
     251            emission=m_aer_emiss_sai*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k)/360./86400. 
     252            tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+emission*pdtphys
     253            budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol
    242254          ENDDO
    243255!          !emission as monodisperse particles with 0.1um dry radius (BIN21)
    244256!          !vertically distributed emission
    245257!          DO k=1, klev
    246 !            tr_seri(i,k,id_BIN01_strat+20)=tr_seri(i,k,id_BIN01_strat+20)+ &
    247 !            & m_aer_emiss*(mH2SO4mol/mSatom)/m_part_dry(21)/m_air_gridbox(i,k)*f_lay_emiss(k) &
    248 !            & /(360.*86400./pdtphys) & ! stretch emission over whole year (360d)
    249 !            & /7. ! distribute equally over 7 emission grid points
     258!            ! stretch emission over whole year (360d)
     259!            emission=m_aer_emiss*(mH2SO4mol/mSatom)/m_part_dry(21)/m_air_gridbox(i,k)*f_lay_emiss(k)/360./86400
     260!            tr_seri(i,k,id_BIN01_strat+20)=tr_seri(i,k,id_BIN01_strat+20)+emission*pdtphys
     261!            budg_emi_part(i)=budg_emi_part(i)+emission*zdm(k)*mSatom/mH2SO4mol
    250262!          ENDDO
    251263        ENDIF ! emission grid cell
     
    259271
    260272!--convert OCS to SO2 in the stratosphere
    261     CALL ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     273    CALL ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    262274
    263275!--convert SO2 to H2SO4
    264     CALL so2_to_h2so4(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     276    CALL so2_to_h2so4(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    265277
    266278!--common routine for nucleation and condensation/evaporation with adaptive timestep
     
    282294          surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas) &
    283295                           & *132./98.*dens_aer_dry*4./3.*RPI*(mdw(it)/2.)**3 &
    284                            & *pplay(i,1)/t_seri(i,1)/RD*1e9
     296                           & *pplay(i,1)/t_seri(i,1)/RD*1.e9
    285297        ENDIF
    286298      ENDDO
Note: See TracChangeset for help on using the changeset viewer.