Changeset 5437 for LMDZ6/trunk


Ignore:
Timestamp:
Dec 20, 2024, 2:10:34 PM (10 days ago)
Author:
evignon
Message:

nouveaux ajustements param cirrus pour mieux coller aux notations du papier, A Borella

Location:
LMDZ6/trunk/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_condensation.f90

    r5406 r5437  
    230230REAL :: dqvc_mix_sub, dqvc_mix_issr
    231231REAL :: dqt_mix
    232 REAL :: a_mix, bovera, N_cld_mix, L_mix
     232REAL :: a_mix, bovera, Povera, N_cld_mix, L_mix
    233233REAL :: envfra_mix, cldfra_mix
    234234REAL :: L_shear, shear_fra
     
    665665        !--Clouds within the mesh are assumed to be ellipses. The length of the
    666666        !--semi-major axis is a and the length of the semi-minor axis is b.
    667         !--N_cld_mix is the number of clouds within the mesh, and
     667        !--N_cld_mix is the number of clouds in contact with clear sky, and can be non-integer.
     668        !--In particular, it is 0 if cldfra = 1.
    668669        !--clouds_perim is the total perimeter of the clouds within the mesh,
    669670        !--not considering interfaces with other meshes (only the interfaces with clear
     
    684685        !-- b / a = bovera = MAX(0.1, cldfra)
    685686        bovera = MAX(0.1, cldfra(i))
     687        !--P / a is a function of b / a only, that we can calculate
     688        !-- P / a = RPI * ( 3. * ( 1. + b / a ) - SQRT( (3. + b / a) * (1. + 3. * b / a) ) )
     689        Povera = RPI * ( 3. * (1. + bovera) - SQRT( (3. + bovera) * (1. + 3. * bovera) ) )
    686690        !--The clouds perimeter is imposed using the formula from Morcrette 2012,
    687691        !--based on observations.
    688         !-- clouds_perim_normalized = alpha * cldfra * ( 1. - cldfra ) = clouds_perim / ( norm_constant * cell_area )
    689         !--
    690         !--With all this, we have
    691         !-- a = SQRT( cell_area * cldfra / ( b / a * N_cld_mix * RPI ) )
    692         !-- P = RPI * a * ( 3. * ( 1. + b / a ) - SQRT( (3. + b / a) * (1. + 3. * b / a) ) )
    693         !--and therefore, using the perimeter
    694         !-- alpha * cldfra * ( 1. - cldfra ) * norm_constant * cell_area
    695         !--             = N_cld_mix * RPI &
    696         !--             * SQRT( cell_area * cldfra / ( b / a * N_cld_mix * RPI ) ) &
    697         !--             * ( 3. * ( 1. + b / a ) - SQRT( (3. + b / a) * (1. + 3. * b / a) ) )
    698         !--and finally
    699         N_cld_mix = coef_mixing_lscp * cldfra(i) * ( 1. - cldfra(i) )**2 &
    700                   * cell_area(i) * bovera / RPI &
    701                   / ( 3. * (1. + bovera) - SQRT( (3. + bovera) * (1. + 3. * bovera) ) )**2
    702         !--where coef_mix_lscp = ( alpha * norm_constant )**2
    703         !--N_cld_mix is the number of clouds in contact with clear sky, and can be non-integer
    704         !--In particular, it is 0 if cldfra = 1
    705         a_mix = SQRT( cell_area(i) * cldfra(i) / bovera / N_cld_mix / RPI )
     692        !-- clouds_perim / cell_area = N_cld_mix * ( P / a * a ) / cell_area = coef_mix_lscp * cldfra * ( 1. - cldfra )
     693        !--With cldfra = a * ( b / a * a ) * RPI * N_cld_mix / cell_area, we have:
     694        !-- cldfra = a * b / a * RPI / (P / a) * coef_mix_lscp * cldfra * ( 1. - cldfra )
     695        !-- a = (P / a) / ( coef_mix_lscp * RPI * ( 1. - cldfra ) * (b / a) )
     696        a_mix = Povera / coef_mixing_lscp / RPI / ( 1. - cldfra(i) ) / bovera
     697        !--and finally,
     698        !-- N_cld_mix = coef_mix_lscp * cldfra * ( 1. - cldfra ) * cell_area / ( P / a * a )
     699        N_cld_mix = coef_mixing_lscp * cldfra(i) * ( 1. - cldfra(i) ) * cell_area(i) &
     700                  / Povera / a_mix
    706701
    707702        !--The time required for turbulent diffusion to homogenize a region of size
  • LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.f90

    r5412 r5437  
    195195  !$OMP THREADPRIVATE(delta_hetfreez)
    196196 
    197   REAL, SAVE, PROTECTED :: coef_mixing_lscp=9.E-8            ! [-] tuning coefficient for the mixing process
     197  REAL, SAVE, PROTECTED :: coef_mixing_lscp=1.E-3            ! [-] tuning coefficient for the mixing process
    198198  !$OMP THREADPRIVATE(coef_mixing_lscp)
    199199 
Note: See TracChangeset for help on using the changeset viewer.