Ignore:
Timestamp:
Apr 23, 2025, 10:51:22 AM (7 weeks ago)
Author:
aborella
Message:

Corrections coupling with convective clouds

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_condensation.f90

    r5625 r5626  
    238238! for unadjusted clouds
    239239REAL :: qiceincld, qvapincld, qvapincld_new
     240REAL :: qice_ratio
    240241!
    241242! for deposition / sublimation
     
    538539              !--Exact explicit integration (qvc exact, qice explicit)
    539540              tauinv_depsub = depo_coef_cirrus * qiceincld**(1./3.) * kappa_depsub
     541              qvapincld_new = qsat(i) + ( qvapincld - qsat(i) ) * EXP( - dtime * tauinv_depsub )
    540542            ELSE
    541543              !--If the cloud is initially subsaturated
    542               !--Exact explicit integration (qvc exact, qice explicit)
    543               !--Same but depo_coef_cirrus = 1
     544              !!--Exact explicit integration (qvc exact, qice explicit)
     545              !!--Same but depo_coef_cirrus = 1
     546              !tauinv_depsub = qiceincld**(1./3.) * kappa_depsub
     547              !qvapincld_new = qsat(i) + ( qvapincld - qsat(i) ) * EXP( - dtime * tauinv_depsub )
     548              !--Exact explicit integration (qice exact, qvc explicit)
     549              !--The barrier is set so that the resulting vapor in cloud
     550              !--cannot be greater than qsat
     551              !--qice_ratio is the ratio between the new ice content and
     552              !--the old one, it is comprised between 0 and 1
    544553              tauinv_depsub = qiceincld**(1./3.) * kappa_depsub
     554              qice_ratio = tauinv_depsub * dtime / 1.5 / qiceinmix * ( qsat(i) - qvapincld )
     555              !--The new vapor in the cloud is increased with the
     556              !--sublimated ice
     557              qvapincld_new = qvapincld + qiceincld * ( 1. - MAX(0., 1. - qice_ratio)**1.5 )
     558              !--The new vapor in the cloud cannot be greater than qsat
     559              qvapincld_new = MIN(qvapincld_new, qsat(i))
     560              !--If all the ice is sublimated
     561              IF ( qvapincld_new .GE. ( qvapincld + qiceincld ) ) qvapincld_new = 0.
    545562            ENDIF ! qvapincld .GT. qsat
    546             qvapincld_new = qsat(i) + ( qvapincld - qsat(i) ) * EXP( - dtime * tauinv_depsub )
    547             !--If all the ice is sublimated
    548             IF ( qvapincld_new .GE. ( qvapincld + qiceincld ) ) qvapincld_new = 0.
    549563          ELSE
    550564            !--We keep the saturation adjustment hypothesis, and the vapor in the
     
    836850          qiceinmix = ( qcld(i) - qvc(i) ) / cldfra(i) / ( 1. + clrfra_mix / cldfra_mix )
    837851          tauinv_depsub = qiceinmix**(1./3.) * kappa_depsub
    838           qvapinmix_lim = qsat(i) - qiceinmix / ( 1. - EXP( - dtime * tauinv_depsub ) )
     852          !qvapinmix_lim = qsat(i) - qiceinmix / ( 1. - EXP( - dtime * tauinv_depsub ) )
     853          qvapinmix_lim = qsat(i) - qiceinmix * MAX(1., 1.5 / ( dtime * tauinv_depsub ))
    839854          qvapinclr_lim = qvapinmix_lim * ( 1. + cldfra_mix / clrfra_mix ) &
    840855                        - qvc(i) / cldfra(i) * cldfra_mix / clrfra_mix
Note: See TracChangeset for help on using the changeset viewer.