Changeset 6077 for LMDZ6/trunk/libf
- Timestamp:
- Feb 16, 2026, 2:44:02 PM (4 days ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
-
lmdz_lscp_main.f90 (modified) (2 diffs)
-
lmdz_lscp_phase.f90 (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lmdz_lscp_main.f90
r6028 r6077 746 746 ! only in stratiform clouds in the mixed phase regime (Raillard et al. 2025) 747 747 ! it overwrites temperature-dependent phase partitioning except for convective boundary layer clouds 748 pticefracturb(:) = (fraca(:, k) < min_frac_th_cld) .AND. (Tbef(:) .GT. temp_nowater) .AND. (Tbef(:) .LT. RTT)748 pticefracturb(:) = (fraca(:, k) < min_frac_th_cld) 749 749 DO i = 1, klon 750 750 qincloud(i) = zqn(i) … … 768 768 ! hence we assume that no snow falls in thermals. 769 769 ! we activate only in the mixed phase regime not to distrub the cirrus param at very cold T 770 pticefracturb(:) = (Tbef(:) .GT. temp_nowater) .AND. (Tbef(:) .LT. RTT)770 pticefracturb(:) = .TRUE. 771 771 !Thermals 772 772 DO i = 1, klon -
LMDZ6/trunk/libf/phylmd/lmdz_lscp_phase.f90
r6075 r6077 245 245 ! because cldfra is intent in, but can be locally modified due to test 246 246 cldfra1D = cldfra(i) 247 ! activate param for concerned grid points and for cloudy conditions248 IF ( (pticefracturb(i)) .AND. (cldfra(i) .GT. 0.)) THEN249 IF (cldfra(i) .GE. 1.0) THEN250 cldfra1D = 1.0251 END IF252 253 ! T>0°C, no ice allowed254 IF (temp(i) .GE. RTT) THEN255 qvap_cld(i) = qsatl(i)*cldfra1D 256 qliq(i) = MAX(0.0, qtot_incl(i) - qsatl(i))*cldfra1D257 qice(i) = 0.258 cldfraliq(i) = 1.259 icefrac(i) = 0.260 dicefracdT(i) = 0.261 262 ! T<-38°C, no liquid allowed263 ELSE IF (temp(i) .LE. temp_nowater) THEN264 qvap_cld(i) = qsati(i)*cldfra1D265 qliq(i) = 0.266 qice(i) = MAX(0.0, qtot_incl(i) - qsati(i))*cldfra1D267 cldfraliq(i) = 0.268 icefrac(i) = 1.269 dicefracdT(i) = 0.270 271 !---------------------------------------------------------272 !-- MIXED PHASE TEMPERATURE REGIME273 !--------------------------------------------------------- 274 !--In the mixed phase regime (-38°C< T <0°C) we distinguish275 !--3 possible subcases.276 !--1. No pre-existing ice277 !--2A. Pre-existing ice and no turbulence278 !--2B. Pre-existing ice and turbulence279 ELSE280 281 ! gamma_snwretro controls the contribution of snowflakes to the negative feedback282 ! note that for reasons related to inetarctions with the condensation iteration in lscp_main 283 ! we consider here the mean snowflake concentration in the mesh (not the in-cloud concentration)284 ! when poprecip is active, it will be worth testing considering the incloud fraction, dividing285 ! by znebprecipcld286 ! qiceini_incl = qice_ini(i) / cldfra1D + &287 ! gamma_snwretro * snowcld(i) * RG * dtime / ( paprsdn(i) - paprsup(i) )288 ! assuming constant snowfall velocity 247 ! T>0°C, no ice allowed 248 IF (temp(i) .GE. RTT) THEN 249 qvap_cld(i) = qsatl(i)*cldfra1D 250 qliq(i) = MAX(0.0, qtot_incl(i) - qsatl(i))*cldfra1D 251 qice(i) = 0. 252 cldfraliq(i) = 1. 253 icefrac(i) = 0. 254 dicefracdT(i) = 0. 255 256 ! T<-38°C, no liquid allowed 257 ELSE IF (temp(i) .LE. temp_nowater) THEN 258 qvap_cld(i) = qsati(i)*cldfra1D 259 qliq(i) = 0. 260 qice(i) = MAX(0.0, qtot_incl(i) - qsati(i))*cldfra1D 261 cldfraliq(i) = 0. 262 icefrac(i) = 1. 263 dicefracdT(i) = 0. 264 ELSE 265 !--------------------------------------------------------- 266 !-- MIXED PHASE TEMPERATURE REGIME 267 !--------------------------------------------------------- 268 !--In the mixed phase regime (-38°C< T <0°C) we distinguish 269 !--3 possible subcases. 270 !--1. No pre-existing ice 271 !--2A. Pre-existing ice and no turbulence 272 !--2B. Pre-existing ice and turbulence 273 274 ! gamma_snwretro controls the contribution of snowflakes to the negative feedback 275 ! note that for reasons related to inetarctions with the condensation iteration in lscp_main 276 ! we consider here the mean snowflake concentration in the mesh (not the in-cloud concentration) 277 ! when poprecip is active, it will be worth testing considering the incloud fraction, dividing 278 ! by znebprecipcld 279 ! qiceini_incl = qice_ini(i) / cldfra1D + & 280 ! gamma_snwretro * snowcld(i) * RG * dtime / ( paprsdn(i) - paprsup(i) ) 281 ! assuming constant snowfall velocity 282 283 ! activate param for concerned grid points and for cloudy conditions 284 IF ((pticefracturb(i)) .AND. (cldfra(i) .GT. 0.)) THEN 285 IF (cldfra(i) .GE. 1.0) THEN 286 cldfra1D = 1.0 287 END IF 288 289 289 qiceini_incl = qice_ini(i)/cldfra1D + gamma_snwretro*snowcld(i)/pplay(i)*RD*temp(i)/snow_fallspeed 290 290 … … 466 466 END IF ! End qini 467 467 468 END IF ! ! MPC temperature469 470 END IF ! pticefracturb and cldfra468 END IF ! pticefracturb and cldfra 469 470 END IF ! MPC temp 471 471 472 472 END DO ! klon
Note: See TracChangeset
for help on using the changeset viewer.
