Changeset 2077
- Timestamp:
- Jul 3, 2014, 3:38:05 PM (10 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/fisrtilp.F90
r2006 r2077 13 13 ! 14 14 USE dimphy 15 USE microphys_mod ! cloud microphysics (JBM 3/14)15 USE icefrac_lsc_mod ! cloud microphysics (JBM 3/14) 16 16 IMPLICIT none 17 17 !====================================================================== … … 165 165 DATA appel1er /.TRUE./ 166 166 !ym 167 167 168 ice_thermo = iflag_ice_thermo .GE. 1 168 169 zdelq=0.0 … … 745 746 ! print*,zt(i),zrfl(i),zifl(i),'temp1' 746 747 ELSE ! of IF (iflag_t_glace.EQ.0) 748 CALL icefrac_lsc(klon,zt(:),pplay(:,k)/paprs(:,1), & 749 & t_glace_min,t_glace_max,exposant_glace,zfice(:)) 747 750 if (iflag_fisrtilp_qsat.lt.1) then 748 751 DO i = 1, klon 749 752 ! JBM: icefrac_lsc is now a function contained in microphys_mod 750 751 753 ! zfice(i) = icefrac_lsc(zt(i), t_glace_min, & 754 ! t_glace_max, exposant_glace) 752 755 zt(i) = zt(i) + (1.-zfice(i))*zcond(i) * RLVTT/RCPD/(1.0+RVTMP2*zq(i)) & 753 756 +zfice(i)*zcond(i) * RLSTT/RCPD/(1.0+RVTMP2*zq(i)) … … 756 759 DO i=1, klon 757 760 ! JBM: icefrac_lsc is now a function contained in microphys_mod 758 759 761 ! zfice(i) = icefrac_lsc(zt(i), t_glace_min, & 762 ! t_glace_max, exposant_glace) 760 763 !CR: ATTENTION zt different de Tbef: à corriger 761 764 zt(i) = zt(i) + (1.-zfice(i))*zcond(i) * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zcond(i))) & … … 790 793 ENDDO 791 794 ELSE ! of IF (iflag_t_glace.EQ.0) 792 DO i = 1, klon 793 IF (rneb(i,k).GT.0.0) THEN 795 CALL icefrac_lsc(klon,zt(:),pplay(:,k)/paprs(:,1), & 796 & t_glace_min,t_glace_max,exposant_glace,zfice(:)) 797 ! DO i = 1, klon 798 ! IF (rneb(i,k).GT.0.0) THEN 794 799 ! JBM: icefrac_lsc is now a function contained in microphys_mod 795 796 797 798 800 ! zfice(i) = icefrac_lsc(zt(i), t_glace_min, & 801 ! t_glace_max, exposant_glace) 802 ! ENDIF 803 ! ENDDO 799 804 ENDIF 800 805 ENDIF -
LMDZ5/trunk/libf/phylmd/newmicro.F90
r2006 r2077 12 12 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra 13 13 USE phys_state_var_mod, ONLY: rnebcon, clwcon 14 USE microphys_mod ! cloud microphysics (JBM 3/14)14 USE icefrac_lsc_mod ! cloud microphysics (JBM 3/14) 15 15 IMPLICIT NONE 16 16 ! ====================================================================== … … 202 202 ELSE ! of IF (iflag_t_glace.EQ.0) 203 203 DO k = 1, klev 204 CALL icefrac_lsc(klon,t(:,k),pplay(:,k)/paprs(:,1), & 205 & t_glace_min,t_glace_max,exposant_glace,zfice(:,k)) 206 207 208 ! JBM: icefrac_lsc is now a function contained in microphys_mod 209 ! zfice(i, k) = icefrac_lsc(t(i,k), t_glace_min, & 210 ! t_glace_max, exposant_glace) 204 211 DO i = 1, klon 205 212 ! -layer calculation … … 207 214 zrho(i, k) = pplay(i, k)/t(i, k)/rd ! kg/m3 208 215 dh(i, k) = rhodz(i, k)/zrho(i, k) ! m 209 ! JBM: icefrac_lsc is now a function contained in microphys_mod210 zfice(i, k) = icefrac_lsc(t(i,k), t_glace_min, &211 t_glace_max, exposant_glace)212 216 ! -IM Total Liquid/Ice water content 213 217 xflwc(i, k) = (1.-zfice(i,k))*pqlwp(i, k) -
LMDZ5/trunk/libf/phylmd/nuage.F90
r2006 r2077 5 5 cldtaupi, re, fl) 6 6 USE dimphy 7 USE microphys_mod ! cloud microphysics (JBM 3/14)7 USE icefrac_lsc_mod ! cloud microphysics (JBM 3/14) 8 8 IMPLICIT NONE 9 9 ! ====================================================================== … … 54 54 55 55 INTEGER i, k 56 REAL zflwp, zradef, zfice , zmsac56 REAL zflwp, zradef, zfice(klon), zmsac 57 57 58 58 REAL radius, rad_chaud … … 98 98 99 99 DO k = 1, klev 100 IF (iflag_t_glace.EQ.0) THEN 101 DO i = 1, klon 102 zfice(i) = 1.0 - (t(i,k)-t_glace_min_old)/(273.13-t_glace_min_old) 103 zfice(i) = min(max(zfice(i),0.0), 1.0) 104 zfice(i) = zfice(i)**exposant_glace_old 105 ENDDO 106 ELSE ! of IF (iflag_t_glace.EQ.0) 107 ! JBM: icefrac_lsc is now a function contained in microphys_mod 108 ! zfice(i) = icefrac_lsc(t(i,k), t_glace_min, & 109 ! t_glace_max, exposant_glace) 110 CALL icefrac_lsc(klon,t(:,k),pplay(:,k)/paprs(:,1), & 111 & t_glace_min,t_glace_max,exposant_glace,zfice(:)) 112 ENDIF 113 100 114 DO i = 1, klon 101 115 rad_chaud = rad_chau1 … … 104 118 pclc(i, k) = max(pclc(i,k), seuil_neb) 105 119 zflwp = 1000.*pqlwp(i, k)/rg/pclc(i, k)*(paprs(i,k)-paprs(i,k+1)) 106 IF (iflag_t_glace.EQ.0) THEN107 zfice = 1.0 - (t(i,k)-t_glace_min_old)/(273.13-t_glace_min_old)108 zfice = min(max(zfice,0.0), 1.0)109 zfice = zfice**exposant_glace_old110 ELSE ! of IF (iflag_t_glace.EQ.0)111 ! JBM: icefrac_lsc is now a function contained in microphys_mod112 zfice = icefrac_lsc(t(i,k), t_glace_min, &113 t_glace_max, exposant_glace)114 ENDIF115 120 116 121 IF (ok_aie) THEN … … 150 155 ! effective radius as re/fl 151 156 ! 152 fl(i, k) = pclc(i, k)*(1.-zfice )157 fl(i, k) = pclc(i, k)*(1.-zfice(i)) 153 158 re(i, k) = rad_chaud*fl(i, k) 154 159 … … 159 164 ! cdnc. 160 165 radius = max(1.1E6*((pqlwp(i,k)*pplay(i,k)/(rd*t(i,k)))/(4./3.*rpi* & 161 1000.*cdnc_pi(i,k)))**(1./3.), 3.)*(1.-zfice ) + rad_froid*zfice166 1000.*cdnc_pi(i,k)))**(1./3.), 3.)*(1.-zfice(i)) + rad_froid*zfice(i) 162 167 cldtaupi(i, k) = 3.0/2.0*zflwp/radius 163 168 END IF ! ok_aie 164 169 165 radius = rad_chaud*(1.-zfice ) + rad_froid*zfice166 coef = coef_chau*(1.-zfice ) + coef_froi*zfice170 radius = rad_chaud*(1.-zfice(i)) + rad_froid*zfice(i) 171 coef = coef_chau*(1.-zfice(i)) + coef_froi*zfice(i) 167 172 pcltau(i, k) = 3.0/2.0*zflwp/radius 168 173 pclemi(i, k) = 1.0 - exp(-coef*zflwp)
Note: See TracChangeset
for help on using the changeset viewer.