Changeset 4998 for LMDZ6/trunk/libf/phylmd/StratAer
- Timestamp:
- Jun 27, 2024, 11:56:50 AM (6 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/StratAer/traccoag_mod.F90
r4950 r4998 12 12 USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, & 13 13 & budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part, & 14 & R2SO4B, DENSO4B, f_r_wetB 14 & R2SO4B, DENSO4B, f_r_wetB, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode 15 15 16 16 USE dimphy … … 57 57 REAL :: m_aer_emiss_vol_daily ! daily injection mass emission 58 58 REAL :: m_aer ! aerosol mass 59 INTEGER :: it, k, i, ilon, ilev, itime, i_int, ieru59 INTEGER :: it, k, i, j, ilon, ilev, itime, i_int, ieru 60 60 LOGICAL,DIMENSION(klon,klev) :: is_strato ! true = above tropopause, false = below 61 61 REAL,DIMENSION(klon,klev) :: m_air_gridbox ! mass of air in every grid box [kg] … … 346 346 ENDDO 347 347 348 !--compute 349 ! sulfmmr: Sulfate aerosol concentration (dry mixing ratio) (condensed H2SO4 mmr) 350 ! SAD_sulfate: SAD all aerosols (cm2/cm3) (must be WET) 351 ! sulfmmr_mode: sulfate(=H2SO4 if dry) MMR in different modes (ambiguous but based on sulfmmr, it mus be DRY(?) mmr) 352 ! nd_mode: DRY(?) particle concentration in different modes (part/m3) 353 sulfmmr(:,:)=0.0 354 SAD_sulfate(:,:)=0.0 355 sulfmmr_mode(:,:,:)=0.0 356 nd_mode(:,:,:)=0.0 357 358 DO i=1,klon 359 DO j=1,klev 360 DO it=1, nbtr_bin 361 !surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas)*m_part(i,1,it) & 362 !assume that particles consist of ammonium sulfate at the surface (132g/mol) 363 !and are dry at T = 20 deg. C and 50 perc. humidity 364 365 ! sulfmmr_mode: sulfate(=H2SO4 if dry) MMR in different modes (based on sulfmmr, it must be DRY mmr) 366 ! equivalent to condensed H2SO4 mmr= H2SO4 kg / kgA in bin it 367 sulfmmr_mode(i,j,it) = tr_seri(i,j,it+nbtr_sulgas) & ! [DRY part/kgA in bin it] 368 & *(4./3.)*RPI*(mdw(it)/2.)**3. & ! [mdw: dry diameter in m] 369 & *dens_aer_dry ! [dry aerosol mass density in kg/m3] 370 371 ! sulfmmr: Sulfate aerosol concentration (dry mass mixing ratio) 372 ! equivalent to total condensed H2SO4 mmr (H2SO4 kg / kgA 373 sulfmmr(i,j) = sulfmmr(i,j) + sulfmmr_mode(i,j,it) 374 375 ! nd_mode: particle concentration in different modes (DRY part/m3) 376 nd_mode(i,j,it) = tr_seri(i,j,it+nbtr_sulgas) & ! [DRY part/kgA in bin it] 377 & *pplay(i,j)/t_seri(i,j)/RD ! [air mass concentration in kg air /m3A] 378 379 IF(flag_new_strat_compo) THEN 380 ! SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3) 381 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 382 & *4.*RPI*( mdw(it)*f_r_wetB(i,j,it)/2. )**2. & ! [WET SA of part it in m2] 383 & *1.e-2 ! conversion from m2/m3 to cm2/cm3A 384 ELSE 385 ! SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3) 386 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 387 & *4.*RPI*( mdw(it)*f_r_wet(i,j)/2. )**2. & ! [WET SA of part it in m2] 388 & *1.e-2 ! conversion from m2/m3 to cm2/cm3A 389 ENDIF 390 ENDDO 391 ENDDO 392 ENDDO 393 348 394 END SUBROUTINE traccoag 349 395
Note: See TracChangeset
for help on using the changeset viewer.