- Timestamp:
- Feb 17, 2024, 9:25:57 PM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_blowing_snow_sublim_sedim.F90
r4821 r4828 110 110 DO i = 1, ngrid 111 111 112 rhoair = pplay(i,k) / zt(i) / RD 113 dz = (paprs(i,k)-paprs(i,k+1)) / (rhoair*RG) 114 ! BS fall velocity assumed to be constant for now 115 zvelo(i) = fallv_bs 116 117 112 118 IF (zt(i) .GT. RTT) THEN 113 119 … … 117 123 118 124 taumeltbs=taumeltbs0*exp(-max(0.,(zt(i)-RTT)/(tbsmelt-RTT))) 119 dqmelt=min(zqbs(i), zqbs(i)/taumeltbs*dtime)125 dqmelt=min(zqbs(i),-1.*zqbs(i)*(exp(-dtime/taumeltbs)-1.)) 120 126 maxdqmelt= max(RCPD*(1.0+RVTMP2*(zq(i)+zqbs(i)))*(zt(i)-RTT)/(RLMLT+RLVTT),0.) 121 dqmelt=min( max(dqmelt,0.),maxdqmelt)127 dqmelt=min(dqmelt,maxdqmelt) 122 128 ! q update, melting + evaporation 123 129 zq(i) = zq(i) + dqmelt … … 130 136 ! negative celcius temperature 131 137 ! Sublimation scheme 132 138 133 139 rhoair=pplay(i,k)/zt(i)/RD 134 140 dqsub = 1./rhoair*coef_eva_bs*(1.0-zq(i)/qsi(i))*((rhoair*zvelo(i)*zqbs(i))**expo_eva_bs)*dtime … … 148 154 149 155 ! Sedimentation scheme 150 151 rhoair = pplay(i,k) / zt(i) / RD 152 dz = (paprs(i,k)-paprs(i,k+1)) / (rhoair*RG) 153 ! BS fall velocity assumed to be constant for now 154 zvelo(i) = fallv_bs 156 !---------------------- 155 157 156 158 sedimn(i) = rhoair*zqbs(i)*zvelo(i) … … 173 175 zt(i) = zt(i) - zqbs(i) * RLSTT/RCPD/(1.0+RVTMP2*(zq(i)+zqbs(i))) 174 176 ELSE 175 zt(i) = zt(i) - zqbs(i) * (RLVTT+RLMLT)/RCPD/(1.0+RVTMP2*(zq(i)+zqbs(i)))177 zt(i) = zt(i) - zqbs(i) * (RLVTT+RLMLT)/RCPD/(1.0+RVTMP2*(zq(i)+zqbs(i))) 176 178 ENDIF 177 179 zqbs(i)=0.
Note: See TracChangeset
for help on using the changeset viewer.