Changeset 2258 for LMDZ5/branches/testing/libf/phylmd/fisrtilp.F90
- Timestamp:
- Apr 13, 2015, 10:21:09 AM (9 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2218,2221-2237
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/fisrtilp.F90
r2220 r2258 8 8 frac_impa, frac_nucl, beta, & 9 9 prfl, psfl, rhcl, zqta, fraca, & 10 ztv, zpspsk, ztla, zthl, iflag_cld th, &10 ztv, zpspsk, ztla, zthl, iflag_cld_th, & 11 11 iflag_ice_thermo) 12 12 … … 82 82 INTEGER ninter ! sous-intervals pour la precipitation 83 83 INTEGER ncoreczq 84 INTEGER iflag_cld th84 INTEGER iflag_cld_th 85 85 INTEGER iflag_ice_thermo 86 86 PARAMETER (ninter=5) … … 545 545 enddo 546 546 547 if (iflag_cld th>=5) then547 if (iflag_cld_th>=5) then 548 548 549 549 call cloudth(klon,klev,k,ztv, & … … 559 559 endif 560 560 561 if (iflag_cld th <= 4) then561 if (iflag_cld_th <= 4) then 562 562 lognormale = .true. 563 elseif (iflag_cld th >= 6) then563 elseif (iflag_cld_th >= 6) then 564 564 ! lognormale en l'absence des thermiques 565 565 lognormale = fraca(:,k) < 1e-10 566 566 else 567 ! Dans le cas iflag_cld th=5, on prend systématiquement la567 ! Dans le cas iflag_cld_th=5, on prend systématiquement la 568 568 ! bi-gaussienne 569 569 lognormale = .false. … … 783 783 else if (iflag_fisrtilp_qsat.gt.0) then 784 784 DO i= 1, klon 785 if (lognormale(i)) then786 zt(i)=Tbef(i)787 else788 785 zt(i) = zt(i) + zcond(i) * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zcond(i))) 789 endif790 786 ENDDO 791 787 endif … … 800 796 ! t_glace_max, exposant_glace) 801 797 if (iflag_t_glace.eq.0) then 802 zfice(i) = 1.0 - ( Tbef(i)-t_glace_min_old) / (RTT-t_glace_min_old)798 zfice(i) = 1.0 - (zt(i)-t_glace_min_old) / (RTT-t_glace_min_old) 803 799 zfice(i) = MIN(MAX(zfice(i),0.0),1.0) 804 800 zfice(i) = zfice(i)**exposant_glace_old … … 809 805 else 810 806 DO i=1, klon 811 if (lognormale(i)) then812 zt(i)=Tbef(i)813 else814 807 ! JBM: icefrac_lsc is now a function contained in icefrac_lsc_mod 815 808 ! zfice(i) = icefrac_lsc(zt(i), t_glace_min, & 816 809 ! t_glace_max, exposant_glace) 817 810 if (iflag_t_glace.eq.0) then 818 zfice(i) = 1.0 - ( Tbef(i)-t_glace_min_old) / (RTT-t_glace_min_old)811 zfice(i) = 1.0 - (zt(i)-t_glace_min_old) / (RTT-t_glace_min_old) 819 812 zfice(i) = MIN(MAX(zfice(i),0.0),1.0) 820 813 zfice(i) = zfice(i)**exposant_glace_old … … 822 815 zt(i) = zt(i) + (1.-zfice(i))*zcond(i) * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zcond(i))) & 823 816 +zfice(i)*zcond(i) * RLSTT/RCPD/(1.0+RVTMP2*(zq(i)+zcond(i))) 824 endif825 817 ENDDO 826 818 endif
Note: See TracChangeset
for help on using the changeset viewer.