- Timestamp:
- Dec 16, 2024, 5:54:52 PM (5 hours ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_lscp.f90
r5411 r5412 119 119 USE lmdz_lscp_ini, ONLY : iflag_autoconversion, ffallv_con, ffallv_lsc, min_frac_th_cld 120 120 USE lmdz_lscp_ini, ONLY : RCPD, RLSTT, RLVTT, RLMLT, RVTMP2, RTT, RD, RG 121 USE lmdz_lscp_ini, ONLY : ok_poprecip 121 USE lmdz_lscp_ini, ONLY : ok_poprecip, ok_bug_phase_lscp 122 122 USE lmdz_lscp_ini, ONLY : ok_ice_supersat, ok_unadjusted_clouds, iflag_icefrac 123 123 … … 1173 1173 ! Note that compared to fisrtilp, we always assume iflag_bergeron=2 1174 1174 1175 IF (ok_bug_phase_lscp) THEN 1175 1176 zqpreci(i)=(zcond(i)-zoliq(i))*zfice(i) 1176 1177 zqprecl(i)=(zcond(i)-zoliq(i))*(1.-zfice(i)) 1178 ELSE 1179 zqpreci(i)=zcond(i)*zfice(i)-zoliqi(i) 1180 zqprecl(i)=zcond(i)*(1.-zfice(i))-zoliql(i) 1181 ENDIF 1177 1182 zcp=RCPD*(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i))) 1178 1183 coef1 = rneb(i,k)*RLSTT/zcp*zdqsdT_raw(i) … … 1265 1270 DO i=1,klon 1266 1271 IF (ziflprev(i) .NE. 0.0) THEN 1267 radocondi(i,k)=zoliq (i)*zfice(i)+zqpreci(i)+ziflprev(i)/zrho(i,k+1)/velo(i,k+1)1272 radocondi(i,k)=zoliqi(i)+zqpreci(i)+ziflprev(i)/zrho(i,k+1)/velo(i,k+1) 1268 1273 ELSE 1269 radocondi(i,k)=zoliq (i)*zfice(i)+zqpreci(i)1274 radocondi(i,k)=zoliqi(i)+zqpreci(i) 1270 1275 ENDIF 1271 1276 radocond(i,k)=radocondl(i,k)+radocondi(i,k) … … 1375 1380 subfra(i,k) = 1. - cf_seri(i,k) - issrfra(i,k) 1376 1381 qsub(i,k) = zq(i) - qvc(i) - qissr(i,k) 1377 qcld(i,k) = qvc(i) + z fice(i) * zoliq(i)1382 qcld(i,k) = qvc(i) + zoliq(i) 1378 1383 ENDDO 1379 1384 ENDIF … … 1389 1394 pfraclr(i,k)=znebprecipclr(i) 1390 1395 pfracld(i,k)=znebprecipcld(i) 1391 d_ql(i,k) = (1-zfice(i))*zoliq(i)1392 d_qi(i,k) = zfice(i)*zoliq(i)1393 1396 d_q(i,k) = zq(i) - qt(i,k) 1394 ! c_iso: same for isotopes1395 1397 d_t(i,k) = zt(i) - temp(i,k) 1398 1399 IF (ok_bug_phase_lscp) THEN 1400 d_ql(i,k) = (1-zfice(i))*zoliq(i) 1401 d_qi(i,k) = zfice(i)*zoliq(i) 1402 ELSE 1403 d_ql(i,k) = zoliql(i) 1404 d_qi(i,k) = zoliqi(i) 1405 ENDIF 1406 1396 1407 ENDDO 1397 1408 -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_ini.f90
r5406 r5412 91 91 !$OMP THREADPRIVATE(iflag_autoconversion) 92 92 93 LOGICAL, SAVE, PROTECTED :: ok_bug_phase_lscp=.true. ! bug on phase partitioning after precipitation processes 94 !$OMP THREADPRIVATE(ok_bug_phase_lscp) 93 95 94 96 LOGICAL, SAVE, PROTECTED :: reevap_ice=.false. ! no liquid precip for T< threshold … … 383 385 CALL getin_p('iflag_oldbug_fisrtilp',iflag_oldbug_fisrtilp) 384 386 CALL getin_p('temp_nowater',temp_nowater) 387 CALL getin_p('ok_bug_phase_lscp',ok_bug_phase_lscp) 385 388 ! for poprecip 386 389 CALL getin_p('ok_poprecip',ok_poprecip) … … 468 471 WRITE(lunout,*) 'lscp_ini, fl_cor_ebil', fl_cor_ebil 469 472 WRITE(lunout,*) 'lscp_ini, temp_nowater', temp_nowater 473 WRITE(lunout,*) 'lscp_ini, ok_bug_phase_lscp', ok_bug_phase_lscp 470 474 ! for poprecip 471 475 WRITE(lunout,*) 'lscp_ini, ok_poprecip', ok_poprecip
Note: See TracChangeset
for help on using the changeset viewer.