- Timestamp:
- Apr 23, 2025, 10:51:22 AM (7 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/contrails/libf/phylmd/lmdz_lscp_condensation.f90
r5625 r5626 238 238 ! for unadjusted clouds 239 239 REAL :: qiceincld, qvapincld, qvapincld_new 240 REAL :: qice_ratio 240 241 ! 241 242 ! for deposition / sublimation … … 538 539 !--Exact explicit integration (qvc exact, qice explicit) 539 540 tauinv_depsub = depo_coef_cirrus * qiceincld**(1./3.) * kappa_depsub 541 qvapincld_new = qsat(i) + ( qvapincld - qsat(i) ) * EXP( - dtime * tauinv_depsub ) 540 542 ELSE 541 543 !--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 544 553 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. 545 562 ENDIF ! qvapincld .GT. qsat 546 qvapincld_new = qsat(i) + ( qvapincld - qsat(i) ) * EXP( - dtime * tauinv_depsub )547 !--If all the ice is sublimated548 IF ( qvapincld_new .GE. ( qvapincld + qiceincld ) ) qvapincld_new = 0.549 563 ELSE 550 564 !--We keep the saturation adjustment hypothesis, and the vapor in the … … 836 850 qiceinmix = ( qcld(i) - qvc(i) ) / cldfra(i) / ( 1. + clrfra_mix / cldfra_mix ) 837 851 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 )) 839 854 qvapinclr_lim = qvapinmix_lim * ( 1. + cldfra_mix / clrfra_mix ) & 840 855 - qvc(i) / cldfra(i) * cldfra_mix / clrfra_mix
Note: See TracChangeset
for help on using the changeset viewer.