Changeset 4397


Ignore:
Timestamp:
Jan 24, 2023, 2:26:51 PM (16 months ago)
Author:
evignon
Message:

Correction d'un beau bug dans l'autoconversion des precip dans lscp (herite de firstilp et
donc encore present dans cette routine). On perd la convergence avec les anciennes versions quand on active lscp

File:
1 edited

Legend:

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

    r4392 r4397  
    394394    ! --------------------------------------------------------------------
    395395
    396     IF (iflag_evap_prec.GE.1) THEN ! useless -> to be removed
     396    IF (iflag_evap_prec.GE.1) THEN
    397397
    398398        ! Calculation of saturation specific humidity
     
    958958                        zcl=cld_lc_con
    959959                        zct=1./cld_tau_con
    960                         zfroi = dtime/REAL(ninter)/zdz(i)*zoliq(i)*velo(i,k)*zfice(i)
     960                        zfroi = dtime/REAL(ninter)/zdz(i)*zoliqi(i)*velo(i,k)
    961961                    ELSE
    962962                        zcl=cld_lc_lsc
    963963                        zct=1./cld_tau_lsc
    964                         zfroi = dtime/REAL(ninter)/zdz(i)*zoliq(i) &   ! dqice/dt=1/rho*d(rho*wice*qice)/dz
    965                             *velo(i,k) * zfice(i)
     964                        zfroi = dtime/REAL(ninter)/zdz(i)*zoliqi(i) &   ! dqice/dt=1/rho*d(rho*wice*qice)/dz
     965                            *velo(i,k)
    966966                    ENDIF
    967967
     
    972972
    973973
    974                     ! warning: here should be zoliql?
    975974                    IF ((iflag_cloudth_vert.GE.3).AND.(iflag_rain_incloud_vol.EQ.1)) THEN
    976                         zchau = zct   *dtime/REAL(ninter) * zoliq(i) &
    977                         *(1.0-EXP(-(zoliq(i)/ctot_vol(i,k)/zcl)**2)) *(1.-zfice(i))
     975                        zchau = zct   *dtime/REAL(ninter) * zoliql(i) &
     976                        *(1.0-EXP(-(zoliql(i)/ctot_vol(i,k)/zcl)**2))
    978977                    ELSE
    979                         zchau = zct   *dtime/REAL(ninter) * zoliq(i) &
    980                         *(1.0-EXP(-(zoliq(i)/zneb(i)/zcl)**2)) *(1.-zfice(i)) ! dqliq/dt=-qliq/tau*(1-exp(-qcin/clw)**2)
     978                        zchau = zct   *dtime/REAL(ninter) * zoliql(i) &
     979                        *(1.0-EXP(-(zoliql(i)/zneb(i)/zcl)**2))        ! dqliq/dt=-qliq/tau*(1-exp(-qcin/clw)**2)
    981980                    ENDIF
    982981
    983                     zrain   = MIN(MAX(zchau,0.0),zoliq(i)*(1.-zfice(i)))
    984                     zsnow   = MIN(MAX(zfroi,0.0),zoliq(i)*zfice(i))
     982                    zrain   = MIN(MAX(zchau,0.0),zoliql(i))
     983                    zsnow   = MIN(MAX(zfroi,0.0),zoliqi(i))
    985984                    zprecip = MAX(zrain + zsnow,0.0)
    986985
Note: See TracChangeset for help on using the changeset viewer.