Ignore:
Timestamp:
Sep 23, 2024, 2:25:05 PM (3 months ago)
Author:
abarral
Message:

Merge r5150 from trunk which had been missed in previous merges

Location:
LMDZ6/branches/Amaury_dev
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev

  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/traccoag_mod.F90

    r5117 r5219  
    1212    USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, &
    1313            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
    15 
     14            R2SO4B, DENSO4B, f_r_wetB, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode, reff_sulfate
    1615    USE dimphy
    1716    USE infotrac_phy, ONLY: nbtr_bin, nbtr_sulgas, nbtr, id_SO2_strat
     
    8382    INTEGER :: injdur_sai          ! injection duration for SAI case [days]
    8483    INTEGER :: yr, is_bissext
     84    REAL                                   :: samoment2, samoment3! 2nd and 3rd order moments of size distribution
    8585
    8686    IF (is_mpi_root .AND. flag_verbose_strataer) THEN
     
    355355    sulfmmr_mode(:, :, :) = 0.0
    356356    nd_mode(:, :, :) = 0.0
    357 
     357reff_sulfate(:,:)=0.0
    358358    DO i = 1, klon
    359359      DO j = 1, klev
    360         DO it = 1, nbtr_bin
     360        samoment2=0.0
     361           samoment3=0.0DO it = 1, nbtr_bin
    361362          !surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas)*m_part(i,1,it) &
    362363          !assume that particles consist of ammonium sulfate at the surface (132g/mol)
     
    381382            SAD_sulfate(i, j) = SAD_sulfate(i, j) + nd_mode(i, j, it) &     ! [DRY part/m3A (in bin it)]
    382383                    * 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                    * 1.e-2                                              ! conversion from m2/m3 to cm2/cm3A!    samoment2 : 2nd order moment of WET sulfate aerosols (m2/m3)
     385                 samoment2 = samoment2 + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)]
     386                      &  *( mdw(it)*f_r_wetB(i,j,it)/2. )**2.                     ! [WET SA of part it in m2]
     387!    samoment3 : 3nd order moment of WET sulfate aerosols (cm2/cm3)
     388                 samoment3 = samoment3 + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)]
     389                      &  *( mdw(it)*f_r_wetB(i,j,it)/2. )**3.                     ! [WET SA of part it in m2]
    384390          ELSE
    385391            !     SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3)
     
    387393                    * 4. * RPI * (mdw(it) * f_r_wet(i, j) / 2.)**2. &           ! [WET SA of part it in m2]
    388394                    * 1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
    389           ENDIF
    390         ENDDO
     395!    samoment2 : 2nd order moment of WET sulfate aerosols (m2/m3)
     396                 samoment2 = samoment2 + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)]
     397                      &  *( mdw(it)*f_r_wet(i,j)/2. )**2.                          ! [WET SA of part it in m2]
     398!    samoment3 : 3nd order moment of WET sulfate aerosols (cm2/cm3)
     399                 samoment3 = samoment3 + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)]
     400                      &  *( mdw(it)*f_r_wet(i,j)/2. )**3.                          ! [WET SA of part it in m2]          ENDIF
     401        ENDDO!     reff_sulfate: effective radius of WET sulfate aerosols (cm)
     402           reff_sulfate(i,j) = (samoment3 / samoment2) &
     403                & *1.e2                                              ! conversion from m to cm
    391404      ENDDO
    392405    ENDDO
    393 
    394406  END SUBROUTINE traccoag
    395407
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phys_local_var_mod.F90

    r5193 r5219  
    763763  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :) :: SAD_sulfate
    764764  !$OMP THREADPRIVATE(SAD_sulfate)
    765   !     sulfate MMR in different modes (based on sulfmmr, it must be dry mmr)
     765  !     Effective radius of wet surface aerosols (cm)
     766      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: reff_sulfate
     767!$OMP THREADPRIVATE(reff_sulfate)
     768!     sulfate MMR in different modes (based on sulfmmr, it must be dry mmr)
    766769  REAL, ALLOCATABLE, SAVE, DIMENSION(:, :, :) :: sulfmmr_mode
    767770  !$OMP THREADPRIVATE(sulfmmr_mode)
     
    12651268      ALLOCATE (sulfmmr(klon, klev))
    12661269      ALLOCATE (SAD_sulfate(klon, klev))
     1270      ALLOCATE (reff_sulfate(klon,klev))
    12671271      ALLOCATE (sulfmmr_mode(klon, klev, nbtr_bin))
    12681272      ALLOCATE (nd_mode(klon, klev, nbtr_bin))
     
    16381642      DEALLOCATE (sulfmmr)
    16391643      DEALLOCATE (SAD_sulfate)
     1644      DEALLOCATE (reff_sulfate)
    16401645      DEALLOCATE (sulfmmr_mode)
    16411646      DEALLOCATE (nd_mode)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phys_output_ctrlout_mod.F90

    r5132 r5219  
    14521452  TYPE(ctrl_out), SAVE :: o_SAD_sulfate = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    14531453    'SAD_sulfate', 'SAD WET sulfate aerosols', 'cm2/cm3', (/ ('', i=1, 10) /))
     1454  TYPE(ctrl_out), SAVE :: o_reff_sulfate = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1455    'reff_sulfate', 'Effective radius of WET sulfate aerosols', 'cm', (/ ('', i=1, 10) /))
    14541456  TYPE(ctrl_out), SAVE :: o_sulfmmr = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
    14551457    'sulfMMR', 'Sulfate aerosol concentration (dry mass mixing ratio)', 'kg(H2SO4)/kg(air)', (/ ('', i=1, 10) /))
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phys_output_write_mod.F90

    r5218 r5219  
    258258         o_surf_PM25_sulf, o_ext_strat_550, o_tau_strat_550, &
    259259         o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet, &
    260          o_SAD_sulfate, o_sulfmmr, o_nd_mode, o_sulfmmr_mode
     260         o_SAD_sulfate, o_reff_sulfate, o_sulfmmr, o_nd_mode, o_sulfmmr_mode
    261261
    262262    USE ice_sursat_mod, ONLY: flight_m, flight_h2o
     
    415415         surf_PM25_sulf, tau_strat_550, tausum_strat, &
    416416         vsed_aer, tau_strat_1020, f_r_wet, &
    417          SAD_sulfate, sulfmmr, nd_mode, sulfmmr_mode
     417         SAD_sulfate, reff_sulfate, sulfmmr, nd_mode, sulfmmr_mode
    418418    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_STRATAER
    419419
     
    18401840          CALL histwrite_phy(o_tau_strat_1020, tausum_strat(:,2))
    18411841          CALL histwrite_phy(o_SAD_sulfate, SAD_sulfate)
     1842          CALL histwrite_phy(o_reff_sulfate, reff_sulfate)
    18421843          CALL histwrite_phy(o_sulfmmr, sulfmmr)
    18431844          ! All BINs fields
Note: See TracChangeset for help on using the changeset viewer.