Changeset 619 for LMDZ4/trunk/libf/phylmd/cv3_routines.F
- Timestamp:
- Apr 15, 2005, 2:36:17 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/cv3_routines.F
r597 r619 2164 2164 : ,ment,qent,uent,vent,nent,elij,traent,sig 2165 2165 : ,tv,tvp 2166 : ,iflag,precip, ft,fr,fu,fv,ftra2166 : ,iflag,precip,VPrecip,ft,fr,fu,fv,ftra 2167 2167 : ,upwd,dnwd,dnwd0,ma,mike,tls,tps,qcondc,wd) 2168 2168 implicit none … … 2197 2197 c outputs: 2198 2198 real precip(nloc) 2199 real VPrecip(nloc,nd+1) 2199 2200 real ft(nloc,nd), fr(nloc,nd), fu(nloc,nd), fv(nloc,nd) 2200 2201 real ftra(nloc,nd,ntra) … … 2228 2229 precip(il)=0.0 2229 2230 wd(il)=0.0 ! gust 2231 VPrecip(il,nd+1)=0. 2230 2232 enddo 2231 2233 2232 2234 do i=1,nd 2233 2235 do il=1,ncum 2236 VPrecip(il,i)=0.0 2234 2237 ft(il,i)=0.0 2235 2238 fr(il,i)=0.0 … … 2270 2273 enddo 2271 2274 2275 C *** CALCULATE VERTICAL PROFILE OF PRECIPITATIONs IN kg/m2/s === 2276 C 2277 c MAF rajout pour lessivage 2278 do k=1,nl 2279 do il=1,ncum 2280 if (k.le.inb(il)) then 2281 if (cvflag_grav) then 2282 VPrecip(il,k) = wt(il,k)*sigd*water(il,k)/grav 2283 else 2284 VPrecip(il,k) = wt(il,k)*sigd*water(il,k)/10. 2285 endif 2286 endif 2287 end do 2288 end do 2289 C 2272 2290 c 2273 2291 c *** Calculate downdraft velocity scale *** … … 3025 3043 SUBROUTINE cv3_uncompress(nloc,len,ncum,nd,ntra,idcum 3026 3044 : ,iflag 3027 : ,precip, sig,w03045 : ,precip,VPrecip,sig,w0 3028 3046 : ,ft,fq,fu,fv,ftra 3047 : ,inb 3029 3048 : ,Ma,upwd,dnwd,dnwd0,qcondc,wd,cape 3049 : ,da,phi,mp 3030 3050 : ,iflag1 3031 : ,precip1, sig1,w013051 : ,precip1,VPrecip1,sig1,w01 3032 3052 : ,ft1,fq1,fu1,fv1,ftra1 3053 : ,inb1 3033 3054 : ,Ma1,upwd1,dnwd1,dnwd01,qcondc1,wd1,cape1 3034 : 3055 : ,da1,phi1,mp1) 3035 3056 implicit none 3036 3057 … … 3041 3062 integer idcum(nloc) 3042 3063 integer iflag(nloc) 3064 integer inb(nloc) 3043 3065 real precip(nloc) 3066 real VPrecip(nloc,nd+1) 3044 3067 real sig(nloc,nd), w0(nloc,nd) 3045 3068 real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd) … … 3049 3072 real qcondc(nloc,nd) 3050 3073 real wd(nloc),cape(nloc) 3074 real da(nloc,nd),phi(nloc,nd,nd),mp(nloc,nd) 3051 3075 3052 3076 c outputs: 3053 3077 integer iflag1(len) 3078 integer inb1(len) 3054 3079 real precip1(len) 3080 real VPrecip1(len,nd+1) 3055 3081 real sig1(len,nd), w01(len,nd) 3056 3082 real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd) … … 3060 3086 real qcondc1(nloc,nd) 3061 3087 real wd1(nloc),cape1(nloc) 3088 real da1(nloc,nd),phi1(nloc,nd,nd),mp1(nloc,nd) 3062 3089 3063 3090 c local variables: … … 3068 3095 iflag1(idcum(i))=iflag(i) 3069 3096 wd1(idcum(i))=wd(i) 3097 inb1(idcum(i))=inb(i) 3070 3098 cape1(idcum(i))=cape(i) 3071 3099 2000 continue … … 3073 3101 do 2020 k=1,nl 3074 3102 do 2010 i=1,ncum 3103 VPrecip1(idcum(i),k)=VPrecip(i,k) 3075 3104 sig1(idcum(i),k)=sig(i,k) 3076 3105 w01(idcum(i),k)=w0(i,k) … … 3084 3113 dnwd01(idcum(i),k)=dnwd0(i,k) 3085 3114 qcondc1(idcum(i),k)=qcondc(i,k) 3115 da1(idcum(i),k)=da(i,k) 3116 mp1(idcum(i),k)=mp(i,k) 3086 3117 2010 continue 3087 3118 2020 continue … … 3099 3130 c 2110 continue 3100 3131 c 2100 continue 3132 do j=1,nd 3133 do k=1,nd 3134 do i=1,ncum 3135 phi1(idcum(i),k,j)=phi(i,k,j) 3136 end do 3137 end do 3138 end do 3101 3139 3102 3140 return
Note: See TracChangeset
for help on using the changeset viewer.