- Timestamp:
- May 15, 2019, 7:30:27 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/cv3_routines.F90
r3500 r3502 136 136 adiab_ascent_mass_flux_depends_on_ejectliq = .FALSE. 137 137 CALL getin_p('adiab_ascent_mass_flux_depends_on_ejectliq',adiab_ascent_mass_flux_depends_on_ejectliq) 138 keepbug_ice_frac = .TRUE. 139 CALL getin_p('keepbug_ice_frac', keepbug_ice_frac) 138 140 139 141 WRITE (*, *) 't_top_max=', t_top_max … … 155 157 WRITE (*, *) 'elcrit=', elcrit 156 158 WRITE (*, *) 'tlcrit=', tlcrit 159 WRITE (*, *) 'ejectliq=', ejectliq 160 WRITE (*, *) 'ejectice=', ejectice 161 WRITE (*, *) 'cvflag_prec_eject =', cvflag_prec_eject 162 WRITE (*, *) 'qsat_depends_on_qt =', qsat_depends_on_qt 163 WRITE (*, *) 'adiab_ascent_mass_flux_depends_on_ejectliq =', adiab_ascent_mass_flux_depends_on_ejectliq 164 WRITE (*, *) 'keepbug_ice_frac =', keepbug_ice_frac 165 157 166 first = .FALSE. 158 167 END IF ! (first) … … 2973 2982 DO il = 1, ncum !!jygprl 2974 2983 IF (i<=inb(il) .AND. lwork(il)) THEN !!jygprl 2975 frac(il, inb(il)) = 1. - (t(il,inb(il))-243.15)/(263.15-243.15) 2976 frac(il, inb(il)) = min(max(frac(il,inb(il)),0.), 1.) 2984 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2985 IF (keepbug_ice_frac) THEN 2986 frac(il, i) = frac_s(il, i) 2977 2987 ! Ice fraction computed again here as a function of the temperature seen by unsaturated downdraughts 2978 2988 ! (i.e. the cold pool temperature) for compatibility with earlier versions. 2979 fraci(il, i) = 1. - (t(il,i)-243.15)/(263.15-243.15) 2980 fraci(il, i) = min(max(fraci(il,i),0.0), 1.0) 2989 fraci(il, i) = 1. - (t(il,i)-243.15)/(263.15-243.15) 2990 fraci(il, i) = min(max(fraci(il,i),0.0), 1.0) 2991 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2992 ELSE ! (keepbug_ice_frac) 2993 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2994 frac(il, i) = frac_s(il, i) 2995 fraci(il, i) = frac(il, i) !!jygprl 2996 ENDIF ! (keepbug_ice_frac) 2997 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2981 2998 END IF !!jygprl 2982 2999 END DO !!jygprl … … 2984 3001 END IF !!jygprl 2985 3002 3003 2986 3004 DO il = 1, ncum 2987 3005 IF (i<=inb(il) .AND. lwork(il)) THEN … … 2989 3007 wt(il, i) = 45.0 2990 3008 2991 2992 3009 IF (i<inb(il)) THEN 2993 2994 IF (cvflag_ice) THEN2995 !CR:tmax_fonte_cv: T for which ice is totally melted (used to be 275.15)2996 thaw = (t(il,i)-273.15)/(tmax_fonte_cv-273.15)2997 thaw = min(max(thaw,0.0), 1.0)2998 frac(il, i) = frac(il, i)*(1.-thaw)2999 ELSE3000 CONTINUE3001 END IF3002 3003 3010 rp(il, i) = rp(il, i+1) + & 3004 3011 (cpd*(t(il,i+1)-t(il,i))+gz(il,i+1)-gz(il,i))/lv(il, i) 3005 3012 rp(il, i) = 0.5*(rp(il,i)+rr(il,i)) 3006 3013 END IF 3007 !! fraci(il, i) = 1. - (t(il,i)-243.15)/(263.15-243.15)3008 !! fraci(il, i) = min(max(fraci(il,i),0.0), 1.0)3009 3014 rp(il, i) = max(rp(il,i), 0.0) 3010 3015 rp(il, i) = amin1(rp(il,i), rs(il,i)) … … 3427 3432 3428 3433 RETURN 3434 3429 3435 END SUBROUTINE cv3_unsat 3430 3436
Note: See TracChangeset
for help on using the changeset viewer.