Changeset 5150 for LMDZ6/trunk/libf
- Timestamp:
- Jul 31, 2024, 3:40:08 PM (4 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/StratAer/traccoag_mod.F90
r4998 r5150 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, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode 14 & R2SO4B, DENSO4B, f_r_wetB, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode, reff_sulfate 15 15 16 16 USE dimphy … … 83 83 INTEGER :: injdur_sai ! injection duration for SAI case [days] 84 84 INTEGER :: yr, is_bissext 85 REAL :: samoment2, samoment3! 2nd and 3rd order moments of size distribution 85 86 86 87 IF (is_mpi_root .AND. flag_verbose_strataer) THEN … … 355 356 sulfmmr_mode(:,:,:)=0.0 356 357 nd_mode(:,:,:)=0.0 358 reff_sulfate(:,:)=0.0 357 359 358 360 DO i=1,klon 359 361 DO j=1,klev 362 samoment2=0.0 363 samoment3=0.0 360 364 DO it=1, nbtr_bin 361 365 !surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas)*m_part(i,1,it) & … … 382 386 & *4.*RPI*( mdw(it)*f_r_wetB(i,j,it)/2. )**2. & ! [WET SA of part it in m2] 383 387 & *1.e-2 ! conversion from m2/m3 to cm2/cm3A 388 ! samoment2 : 2nd order moment of WET sulfate aerosols (m2/m3) 389 samoment2 = samoment2 + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 390 & *( mdw(it)*f_r_wetB(i,j,it)/2. )**2. ! [WET SA of part it in m2] 391 ! samoment3 : 3nd order moment of WET sulfate aerosols (cm2/cm3) 392 samoment3 = samoment3 + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 393 & *( mdw(it)*f_r_wetB(i,j,it)/2. )**3. ! [WET SA of part it in m2] 384 394 ELSE 385 395 ! SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3) 386 396 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 387 397 & *4.*RPI*( mdw(it)*f_r_wet(i,j)/2. )**2. & ! [WET SA of part it in m2] 388 398 & *1.e-2 ! conversion from m2/m3 to cm2/cm3A 399 ! samoment2 : 2nd order moment of WET sulfate aerosols (m2/m3) 400 samoment2 = samoment2 + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 401 & *( mdw(it)*f_r_wet(i,j)/2. )**2. ! [WET SA of part it in m2] 402 ! samoment3 : 3nd order moment of WET sulfate aerosols (cm2/cm3) 403 samoment3 = samoment3 + nd_mode(i,j,it) & ! [DRY part/m3A (in bin it)] 404 & *( mdw(it)*f_r_wet(i,j)/2. )**3. ! [WET SA of part it in m2] 389 405 ENDIF 390 406 ENDDO 407 ! reff_sulfate: effective radius of WET sulfate aerosols (cm) 408 reff_sulfate(i,j) = (samoment3 / samoment2) & 409 & *1.e2 ! conversion from m to cm 391 410 ENDDO 392 411 ENDDO -
LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
r5148 r5150 768 768 REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SAD_sulfate 769 769 !$OMP THREADPRIVATE(SAD_sulfate) 770 ! Effective radius of wet surface aerosols (cm) 771 REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: reff_sulfate 772 !$OMP THREADPRIVATE(reff_sulfate) 770 773 ! sulfate MMR in different modes (based on sulfmmr, it must be dry mmr) 771 774 REAL, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: sulfmmr_mode … … 1277 1280 ALLOCATE (sulfmmr(klon,klev)) 1278 1281 ALLOCATE (SAD_sulfate(klon,klev)) 1282 ALLOCATE (reff_sulfate(klon,klev)) 1279 1283 ALLOCATE (sulfmmr_mode(klon,klev,nbtr_bin)) 1280 1284 ALLOCATE (nd_mode(klon,klev,nbtr_bin)) … … 1650 1654 DEALLOCATE (sulfmmr) 1651 1655 DEALLOCATE (SAD_sulfate) 1656 DEALLOCATE (reff_sulfate) 1652 1657 DEALLOCATE (sulfmmr_mode) 1653 1658 DEALLOCATE (nd_mode) -
LMDZ6/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
r5109 r5150 1453 1453 TYPE(ctrl_out), SAVE :: o_SAD_sulfate = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), & 1454 1454 'SAD_sulfate', 'SAD WET sulfate aerosols', 'cm2/cm3', (/ ('', i=1, 10) /)) 1455 TYPE(ctrl_out), SAVE :: o_reff_sulfate = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), & 1456 'reff_sulfate', 'Effective radius of WET sulfate aerosols', 'cm', (/ ('', i=1, 10) /)) 1455 1457 TYPE(ctrl_out), SAVE :: o_sulfmmr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), & 1456 1458 'sulfMMR', 'Sulfate aerosol concentration (dry mass mixing ratio)', 'kg(H2SO4)/kg(air)', (/ ('', i=1, 10) /)) -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r5138 r5150 259 259 o_surf_PM25_sulf, o_ext_strat_550, o_tau_strat_550, & 260 260 o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet, & 261 o_SAD_sulfate, o_ sulfmmr, o_nd_mode, o_sulfmmr_mode261 o_SAD_sulfate, o_reff_sulfate, o_sulfmmr, o_nd_mode, o_sulfmmr_mode 262 262 #endif 263 263 … … 418 418 surf_PM25_sulf, tau_strat_550, tausum_strat, & 419 419 vsed_aer, tau_strat_1020, f_r_wet, & 420 SAD_sulfate, sulfmmr, nd_mode, sulfmmr_mode420 SAD_sulfate, reff_sulfate, sulfmmr, nd_mode, sulfmmr_mode 421 421 #endif 422 422 … … 1850 1850 CALL histwrite_phy(o_tau_strat_1020, tausum_strat(:,2)) 1851 1851 CALL histwrite_phy(o_SAD_sulfate, SAD_sulfate) 1852 CALL histwrite_phy(o_reff_sulfate, reff_sulfate) 1852 1853 CALL histwrite_phy(o_sulfmmr, sulfmmr) 1853 1854 ! All BINs fields
Note: See TracChangeset
for help on using the changeset viewer.