Changeset 3683


Ignore:
Timestamp:
Mar 14, 2025, 2:28:44 PM (4 months ago)
Author:
debatzbr
Message:

Solves random variations of the SW heating at the model top
BBT

Location:
trunk/LMDZ.PLUTO/libf/phypluto
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90

    r3627 r3683  
    239239         !--------------------------------------------------
    240240         !     Effective radius and variance of the aerosols
     241         !     Madeleine's PhD (eq. 2.3-2.4):
     242         !     --> r_eff = <r^3> / <r^2>
     243         !     --> nu_eff = <r^4>*<r^2> / <r^3>^2 - 1
    241244         !--------------------------------------------------
    242245         ! Radiative Hazes
     
    245248            ! Spherical aerosols
    246249            sig = 0.2
    247             WHERE(mp2m_rc_sph(:,:) > 1e-10)
     250            WHERE(mp2m_rc_sph(:,:) > 1e-9)
    248251               reffrad(:,:,1) = mp2m_rc_sph(:,:) * exp(5.*sig**2 / 2.)
    249252            ELSEWHERE
     
    253256            ! Fractal aerosols
    254257            sig = 0.35
    255             WHERE(mp2m_rc_fra(:,:) > 1e-10)
     258            WHERE(mp2m_rc_fra(:,:) > 1e-8)
    256259               reffrad(:,:,2) = mp2m_rc_fra(:,:) * exp(5.*sig**2 / 2.)
    257260            ELSEWHERE
  • trunk/LMDZ.PLUTO/libf/phypluto/mp2m_calmufi.F90

    r3559 r3683  
    121121        DO ilon = 1, nlon
    122122
    123             ! Convert tracers to extensive
     123            ! Convert tracers to extensive [X.kg-1 --> X.m-2]
    124124            int2ext(ilon,:) = (plev(ilon,1:nlay)-plev(ilon,2:nlay+1)) / g3d(ilon,1:nlay)
    125125           
  • trunk/LMDZ.PLUTO/libf/phypluto/mp2m_diagnostics.F90

    r3559 r3683  
    7878    m3af = pq(:,:,micro_indx(4)) * int2ext
    7979
    80     WHERE(m0as > 1e-10 .AND. m3as > (1e-10*alpha_s(3.)*haze_rc_prod**3))
     80    WHERE(m0as > 1e-8 .AND. m3as > (1e-8*alpha_s(3.)*haze_rc_prod**3))
    8181      mp2m_rc_sph = (m3as / (m0as*alpha_s(3.)))**(1./3.)
    8282    ELSEWHERE
     
    8484    ENDWHERE
    8585
    86     WHERE(m0af > 1e-10 .AND. m3af > (1e-10*alpha_f(3.)*haze_rm**3))
     86    WHERE(m0af > 1e-8 .AND. m3af > (1e-8*alpha_f(3.)*haze_rm**3))
    8787      mp2m_rc_fra = (m3af / (m0af*alpha_f(3.)))**(1./3.)
    8888    ELSEWHERE
  • trunk/LMDZ.PLUTO/libf/phypluto/optcv_pluto_mod.F90

    r3329 r3683  
    138138  end do
    139139
    140 !     we ignore K=1... hope this is ok...
     140  ! We ignore K = 1... Hope this is ok...
    141141  do K=2,L_LEVELS
     142
     143     ! JL18: It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR
     144     ! but visible does not handle very well diffusion in first layer.
     145     ! This solves random variations of the sw heating at the model top.
     146     if (K < 3) TAEROS(K,:,:) = 0.0
    142147
    143148     do NW=1,L_NSPECTV
  • trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90

    r3674 r3683  
    23312331            endif
    23322332
    2333            if (optichaze) then
    2334               call write_output("tau_col",&
    2335                  "Total aerosol optical depth","opacity",tau_col)
    2336            endif
     2333            if (optichaze) then
     2334               call write_output("tau_col",&
     2335               "Total aerosol optical depth","opacity",tau_col)
     2336            endif
    23372337
    23382338         endif ! end haze
     
    23402340         if (callmufi) then
    23412341            ! Tracers:
    2342             call write_output("m0as","Spherical mode 0th order moment","m-3",zq(:,:,micro_indx(1))*int2ext(:,:))
    2343             call write_output("m3as","Spherical mode 3rd order moment","m3.m-3",zq(:,:,micro_indx(2))*int2ext(:,:))
    2344             call write_output("m0af","Fractal mode 0th order moment","m-3",zq(:,:,micro_indx(3))*int2ext(:,:))
    2345             call write_output("m3af","Fractal mode 3rd order moment","m3.m-3",zq(:,:,micro_indx(4))*int2ext(:,:))
     2342            call write_output("m0as","Density number of spherical aerosols","m-3",zq(:,:,micro_indx(1))*int2ext(:,:))
     2343            call write_output("m3as","Volume of spherical aerosols","m3.m-3",zq(:,:,micro_indx(2))*int2ext(:,:))
     2344            call write_output("m0af","Density number of fractal aerosols","m-3",zq(:,:,micro_indx(3))*int2ext(:,:))
     2345            call write_output("m3af","Volume of fractal aerosols","m3.m-3",zq(:,:,micro_indx(4))*int2ext(:,:))
    23462346
    23472347            ! Diagnostics:
    2348             call write_output("rcs","Spherical mode characteristic radius","m",mp2m_rc_sph(:,:))
    2349             call write_output("rcf","Fractal mode characteristic radius","m",mp2m_rc_fra(:,:))
    2350 
    2351            if (optichaze) then
    2352               call write_output("tau_col",&
    2353                  "Total aerosol optical depth","opacity",tau_col)
    2354            endif ! end optichaze
     2348            call write_output("rcs","Characteristic radius of spherical aerosols","m",mp2m_rc_sph(:,:))
     2349            call write_output("rcf","Characteristic radius of fractal aerosols","m",mp2m_rc_fra(:,:))
     2350
     2351            if (optichaze) then
     2352               call write_output("tau_col",&
     2353               "Total aerosol optical depth","opacity",tau_col)
     2354            endif ! end optichaze
    23552355         endif ! end callmufi
    23562356
Note: See TracChangeset for help on using the changeset viewer.