- Timestamp:
- Jul 19, 2024, 5:41:58 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_ratqs_main.F90
r4812 r5082 71 71 ! ---------------- 72 72 ! on ecrase le tableau ratqsc calcule par clouds_gno 73 if (iflag_cld_th .eq.1) then73 if (iflag_cld_th==1) then 74 74 do k=1,klev 75 75 do i=1,klon … … 86 86 ! par nversion de la fonction log normale 87 87 !----------------------------------------------------------------------- 88 else if (iflag_cld_th .eq.4) then88 else if (iflag_cld_th==4) then 89 89 ptconvth(:,:)=.false. 90 90 ratqsc(:,:)=0. 91 if(prt_level .ge.9) print*,'avant clouds_gno thermique'91 if(prt_level>=9) print*,'avant clouds_gno thermique' 92 92 call clouds_gno & 93 93 (klon,klev,q_seri,zqsat,clwcon0th,ptconvth,ratqsc,rnebcon0th) 94 if(prt_level .ge.9) print*,' CLOUDS_GNO OK'94 if(prt_level>=9) print*,' CLOUDS_GNO OK' 95 95 96 96 endif … … 99 99 ! ------------- 100 100 101 if (iflag_ratqs .eq.0) then101 if (iflag_ratqs==0) then 102 102 103 103 ! Le cas iflag_ratqs=0 correspond a la version IPCC 2005 du modele. … … 116 116 ! avec thermiques. 117 117 118 else if (iflag_ratqs .eq.1) then118 else if (iflag_ratqs==1) then 119 119 120 120 do k=1,klev 121 121 do i=1, klon 122 if (pplay(i,k) .ge.60000.) then122 if (pplay(i,k)>=60000.) then 123 123 ratqss(i,k)=ratqsbas 124 else if ((pplay(i,k) .ge.30000.).and.(pplay(i,k).lt.60000.)) then124 else if ((pplay(i,k)>=30000.).and.(pplay(i,k)<60000.)) then 125 125 ratqss(i,k)=ratqsbas+(ratqshaut-ratqsbas)*(60000.-pplay(i,k))/(60000.-30000.) 126 126 else … … 130 130 enddo 131 131 132 else if (iflag_ratqs .eq.2) then132 else if (iflag_ratqs==2) then 133 133 134 134 do k=1,klev 135 135 do i=1, klon 136 if (pplay(i,k) .ge.60000.) then136 if (pplay(i,k)>=60000.) then 137 137 ratqss(i,k)=ratqsbas*(paprs(i,1)-pplay(i,k))/(paprs(i,1)-60000.) 138 else if ((pplay(i,k) .ge.30000.).and.(pplay(i,k).lt.60000.)) then138 else if ((pplay(i,k)>=30000.).and.(pplay(i,k)<60000.)) then 139 139 ratqss(i,k)=ratqsbas+(ratqshaut-ratqsbas)*(60000.-pplay(i,k))/(60000.-30000.) 140 140 else … … 173 173 174 174 175 else if (iflag_ratqs .GT.9) then175 else if (iflag_ratqs > 9) then 176 176 177 177 ! interactive ratqs calculations that depend on cold pools, orography, surface heterogeneity and small-scale turbulence … … 193 193 enddo 194 194 195 if (iflag_ratqs .EQ. 10) then195 if (iflag_ratqs == 10) then 196 196 ! interactive ratqs in presence of cold pools 197 197 call ratqs_inter(klon,klev,iflag_ratqs,pdtphys,paprs, & … … 205 205 enddo 206 206 ratqss=ratqss+ratqs_inter_ 207 else if (iflag_ratqs .EQ.11) then207 else if (iflag_ratqs == 11) then 208 208 print*,'avant ratqs_inter' 209 209 ! interactive ratqs with several sources … … 213 213 ratqs_inter_) 214 214 ratqss=ratqss+ratqs_inter_ 215 else if (iflag_ratqs .EQ.12) then215 else if (iflag_ratqs == 12) then 216 216 ! contribution of surface heterogeneities to ratqs 217 217 call ratqs_hetero(klon,klev,pctsrf,s_pblh,t2m,q2m,t_seri,q_seri,pplay,paprs,ratqs_hetero_) 218 218 ratqss=ratqss+ratqs_hetero_ 219 else if (iflag_ratqs .EQ.13) then219 else if (iflag_ratqs == 13) then 220 220 ! contribution of ubgrid orography to ratqs 221 221 call ratqs_oro(klon,klev,pctsrf,zstd,zqsat,t_seri,pplay,paprs,ratqs_oro_) 222 222 ratqss=ratqss+ratqs_oro_ 223 else if (iflag_ratqs .EQ.14) then223 else if (iflag_ratqs == 14) then 224 224 ! effect of subgrid-scale TKE on ratqs (in development) 225 225 call ratqs_tke(klon,klev,pdtphys,t_seri,q_seri,zqsat,pplay,paprs,omega,tke,tke_dissip,lmix,wprime,ratqs_tke_) … … 234 234 ! ----------- 235 235 236 if (iflag_cld_th .eq.1 .or.iflag_cld_th.eq.2.or.iflag_cld_th.eq.4) then236 if (iflag_cld_th==1 .or.iflag_cld_th==2.or.iflag_cld_th==4) then 237 237 238 238 ! On ajoute une constante au ratqsc*2 pour tenir compte de … … 248 248 249 249 ! les ratqs sont une combinaison de ratqss et ratqsc 250 if(prt_level .ge.9) write(lunout,*)'PHYLMD NOUVEAU TAU_RATQS ',tau_ratqs250 if(prt_level>=9) write(lunout,*)'PHYLMD NOUVEAU TAU_RATQS ',tau_ratqs 251 251 252 252 if (tau_ratqs>1.e-10) then … … 271 271 do k=1,klev 272 272 do i=1,klon 273 if (ratqsc(i,k) .gt.1.e-10) then273 if (ratqsc(i,k)>1.e-10) then 274 274 ratqs(i,k)=ratqs(i,k)*zfratqs2+(iflag_cld_th/100.)*ratqsc(i,k)*(1.-zfratqs2) 275 275 endif
Note: See TracChangeset
for help on using the changeset viewer.