Ignore:
Timestamp:
May 10, 2019, 12:17:35 PM (5 years ago)
Author:
jyg
Message:

Implementation of the ejection of liquid precipitation from the adiabatic ascents.
New flags:
+cvflag_prec_eject: logical

n -> old code, y -> new code

+ejectliq: real; possible values 0. & 1.

  1. -> no liquid precipitation is ejected
  2. -> all liquid precipitation is ejected

+ejectice: real; any value between 0. and 1.

fraction of solid precipitation ejected at each level

Note that the adiabatic ascent mass flux decrease due to precipitation ejection is not taken into account.

Attempts to do it led to water conservation violation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90

    r3489 r3496  
    416416      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: pmflxr, pmflxs
    417417!$OMP THREADPRIVATE(pmflxr, pmflxs)
    418       REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: wdtrainA, wdtrainM
    419 !$OMP THREADPRIVATE(wdtrainA, wdtrainM)
     418      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: wdtrainA, wdtrainS, wdtrainM
     419!$OMP THREADPRIVATE(wdtrainA, wdtrainS, wdtrainM)
    420420      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: da, mp
    421421!$OMP THREADPRIVATE(da, mp)
     
    428428      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: ev
    429429!$OMP THREADPRIVATE(ev)
     430      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: qtaa
     431!$OMP THREADPRIVATE(qtaa)
    430432      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: clw
    431433!$OMP THREADPRIVATE(clw)
     
    791793!  Deep convective variables used in phytrac
    792794      ALLOCATE(pmflxr(klon, klev+1), pmflxs(klon, klev+1))
    793       ALLOCATE(wdtrainA(klon,klev),wdtrainM(klon,klev))
     795      ALLOCATE(wdtrainA(klon,klev),wdtrainS(klon,klev),wdtrainM(klon,klev))
    794796      ALLOCATE(dnwd(klon, klev), upwd(klon, klev) )
    795797      ALLOCATE(ep(klon,klev))                          ! epmax_cape
     
    801803      ALLOCATE(ev(klon,klev) )
    802804      ALLOCATE(elij(klon,klev,klev) )
     805      ALLOCATE(qtaa(klon,klev) )
    803806      ALLOCATE(clw(klon,klev) )
    804807      ALLOCATE(epmlmMm(klon,klev,klev), eplaMm(klon,klev) )
     
    10821085
    10831086      DEALLOCATE(pmflxr, pmflxs)
    1084       DEALLOCATE(wdtrainA, wdtrainM)
     1087      DEALLOCATE(wdtrainA, wdtrainS, wdtrainM)
    10851088      DEALLOCATE(upwd, dnwd)
    10861089      DEALLOCATE(ep)
     
    10921095      DEALLOCATE(ev )
    10931096      DEALLOCATE(elij )
     1097      DEALLOCATE(qtaa )
    10941098      DEALLOCATE(clw )
    10951099      DEALLOCATE(epmlmMm, eplaMm )
Note: See TracChangeset for help on using the changeset viewer.