Changeset 2408 for LMDZ5/branches/testing/libf/phylmd/cv3a_uncompress.F90
- Timestamp:
- Dec 14, 2015, 11:43: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: 2293-2295,2297,2299-2302,2305-2313,2315,2317-2380,2382-2396
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/cv3a_uncompress.F90
r2298 r2408 3 3 precip, cbmf, plcl, plfc, wbeff, sig, w0, ptop2, & 4 4 ft, fq, fu, fv, ftra, & 5 sigd, ma, mip, vprecip, upwd, dnwd, dnwd0, &5 sigd, ma, mip, vprecip, vprecipi, upwd, dnwd, dnwd0, & 6 6 qcondc, wd, cape, cin, & 7 7 tvp, & … … 17 17 precip1, cbmf1, plcl1, plfc1, wbeff1, sig1, w01, ptop21, & 18 18 ft1, fq1, fu1, fv1, ftra1, & 19 sigd1, ma1, mip1, vprecip1, upwd1, dnwd1, dnwd01, &19 sigd1, ma1, mip1, vprecip1, vprecipi1, upwd1, dnwd1, dnwd01, & 20 20 qcondc1, wd1, cape1, cin1, & 21 21 tvp1, & … … 57 57 REAL, DIMENSION (nloc, nd), INTENT (IN) :: ma, mip 58 58 REAL, DIMENSION (nloc, nd+1), INTENT (IN) :: vprecip 59 REAL, DIMENSION (nloc, nd+1), INTENT (IN) :: vprecipi 59 60 REAL, DIMENSION (nloc, nd), INTENT (IN) :: upwd, dnwd, dnwd0 60 61 REAL, DIMENSION (nloc, nd), INTENT (IN) :: qcondc … … 91 92 REAL, DIMENSION (len, nd), INTENT (OUT) :: ma1, mip1 92 93 REAL, DIMENSION (len, nd+1), INTENT (OUT) :: vprecip1 94 REAL, DIMENSION (len, nd+1), INTENT (OUT) :: vprecipi1 93 95 REAL, DIMENSION (len, nd), INTENT (OUT) :: upwd1, dnwd1, dnwd01 94 96 REAL, DIMENSION (len, nd), INTENT (OUT) :: qcondc1 … … 144 146 END DO 145 147 146 DO k = 1, nl +1148 DO k = 1, nl 147 149 DO i = 1, ncum 148 150 sig1(idcum(i), k) = sig(i, k) … … 155 157 mip1(idcum(i), k) = mip(i, k) 156 158 vprecip1(idcum(i), k) = vprecip(i, k) 159 vprecipi1(idcum(i), k) = vprecipi(i, k) 157 160 upwd1(idcum(i), k) = upwd(i, k) 158 161 dnwd1(idcum(i), k) = dnwd(i, k) … … 178 181 179 182 END DO 183 END DO 184 185 ! Fluxes are defined on a staggered grid and extend up to nl+1 186 DO i = 1, ncum 187 ma1(idcum(i), nlp) = 0. 188 vprecip1(idcum(i), nlp) = 0. 189 vprecipi1(idcum(i), nlp) = 0. 190 upwd1(idcum(i), nlp) = 0. 191 dnwd1(idcum(i), nlp) = 0. 192 dnwd01(idcum(i), nlp) = 0. 180 193 END DO 181 194 … … 203 216 !! END DO 204 217 !! END DO 205 DO i = 1, ncum 206 jdcum=idcum(i) 207 phi1 (jdcum, 1:nl+1, 1:nl+1) = phi (i, 1:nl+1, 1:nl+1) !AC! 208 phi21 (jdcum, 1:nl+1, 1:nl+1) = phi2 (i, 1:nl+1, 1:nl+1) !RomP 209 sigij1 (jdcum, 1:nl+1, 1:nl+1) = sigij (i, 1:nl+1, 1:nl+1) !RomP 210 elij1 (jdcum, 1:nl+1, 1:nl+1) = elij (i, 1:nl+1, 1:nl+1) !RomP 211 epmlmMm1(jdcum, 1:nl+1, 1:nl+1) = epmlmMm(i, 1:nl+1, 1:nl+1) !RomP+jyg 218 219 !! DO i = 1, ncum 220 !! jdcum=idcum(i) 221 !! phi1 (jdcum, 1:nl+1, 1:nl+1) = phi (i, 1:nl+1, 1:nl+1) !AC! 222 !! phi21 (jdcum, 1:nl+1, 1:nl+1) = phi2 (i, 1:nl+1, 1:nl+1) !RomP 223 !! sigij1 (jdcum, 1:nl+1, 1:nl+1) = sigij (i, 1:nl+1, 1:nl+1) !RomP 224 !! elij1 (jdcum, 1:nl+1, 1:nl+1) = elij (i, 1:nl+1, 1:nl+1) !RomP 225 !! epmlmMm1(jdcum, 1:nl+1, 1:nl+1) = epmlmMm(i, 1:nl+1, 1:nl+1) !RomP+jyg 226 !! END DO 227 ! These tracer associated arrays are defined up to nl, not nl+1 228 DO i = 1, ncum 229 jdcum=idcum(i) 230 DO k = 1,nl 231 DO j = 1,nl 232 phi1 (jdcum, j, k) = phi (i, j, k) !AC! 233 phi21 (jdcum, j, k) = phi2 (i, j, k) !RomP 234 sigij1 (jdcum, j, k) = sigij (i, j, k) !RomP 235 elij1 (jdcum, j, k) = elij (i, j, k) !RomP 236 epmlmMm1(jdcum, j, k) = epmlmMm(i, j, k) !RomP+jyg 212 237 END DO 238 ENDDO 239 ENDDO 213 240 !>jyg 214 241 ! AC! … … 246 273 asupmaxmin1(:) = asupmaxmin(:) 247 274 ! 248 sig1(:, 1:nl+1) = sig(:, 1:nl+1) 249 w01(:, 1:nl+1) = w0(:, 1:nl+1) 250 ft1(:, 1:nl+1) = ft(:, 1:nl+1) 251 fq1(:, 1:nl+1) = fq(:, 1:nl+1) 252 fu1(:, 1:nl+1) = fu(:, 1:nl+1) 253 fv1(:, 1:nl+1) = fv(:, 1:nl+1) 254 ma1(:, 1:nl+1) = ma(:, 1:nl+1) 255 mip1(:, 1:nl+1) = mip(:, 1:nl+1) 256 vprecip1(:, 1:nl+1) = vprecip(:, 1:nl+1) 257 upwd1(:, 1:nl+1) = upwd(:, 1:nl+1) 258 dnwd1(:, 1:nl+1) = dnwd(:, 1:nl+1) 259 dnwd01(:, 1:nl+1) = dnwd0(:, 1:nl+1) 260 qcondc1(:, 1:nl+1) = qcondc(:, 1:nl+1) 261 tvp1(:, 1:nl+1) = tvp(:, 1:nl+1) 262 ftd1(:, 1:nl+1) = ftd(:, 1:nl+1) 263 fqd1(:, 1:nl+1) = fqd(:, 1:nl+1) 264 asupmax1(:, 1:nl+1) = asupmax(:, 1:nl+1) 265 266 da1(:, 1:nl+1) = da(:, 1:nl+1) !AC! 267 mp1(:, 1:nl+1) = mp(:, 1:nl+1) !RomP 268 d1a1(:, 1:nl+1) = d1a(:, 1:nl+1) !RomP 269 dam1(:, 1:nl+1) = dam(:, 1:nl+1) !RomP 270 clw1(:, 1:nl+1) = clw(:, 1:nl+1) !RomP 271 evap1(:, 1:nl+1) = evap(:, 1:nl+1) !RomP 272 ep1(:, 1:nl+1) = ep(:, 1:nl+1) !RomP 273 eplamM1(:, 1:nl+1) = eplamM(:, 1:nl+1) !RomP+jyg 274 wdtrainA1(:, 1:nl+1) = wdtrainA(:, 1:nl+1) !RomP 275 wdtrainM1(:, 1:nl+1) = wdtrainM(:, 1:nl+1) !RomP 276 qtc1(:, 1:nl+1) = qtc(:, 1:nl+1) 277 sigt1(:, 1:nl+1) = sigt(:, 1:nl+1) 278 ! 279 phi1 (:, 1:nl+1, 1:nl+1) = phi (:, 1:nl+1, 1:nl+1) !AC! 280 phi21 (:, 1:nl+1, 1:nl+1) = phi2 (:, 1:nl+1, 1:nl+1) !RomP 281 sigij1 (:, 1:nl+1, 1:nl+1) = sigij (:, 1:nl+1, 1:nl+1) !RomP 282 elij1 (:, 1:nl+1, 1:nl+1) = elij (:, 1:nl+1, 1:nl+1) !RomP 283 epmlmMm1(:, 1:nl+1, 1:nl+1) = epmlmMm(:, 1:nl+1, 1:nl+1) !RomP+jyg 275 sig1(:, 1:nl) = sig(:, 1:nl) 276 w01(:, 1:nl) = w0(:, 1:nl) 277 ft1(:, 1:nl) = ft(:, 1:nl) 278 fq1(:, 1:nl) = fq(:, 1:nl) 279 fu1(:, 1:nl) = fu(:, 1:nl) 280 fv1(:, 1:nl) = fv(:, 1:nl) 281 ma1(:, 1:nl) = ma(:, 1:nl) 282 mip1(:, 1:nl) = mip(:, 1:nl) 283 vprecip1(:, 1:nl) = vprecip(:, 1:nl) 284 vprecipi1(:, 1:nl) = vprecipi(:, 1:nl) 285 upwd1(:, 1:nl) = upwd(:, 1:nl) 286 dnwd1(:, 1:nl) = dnwd(:, 1:nl) 287 dnwd01(:, 1:nl) = dnwd0(:, 1:nl) 288 qcondc1(:, 1:nl) = qcondc(:, 1:nl) 289 tvp1(:, 1:nl) = tvp(:, 1:nl) 290 ftd1(:, 1:nl) = ftd(:, 1:nl) 291 fqd1(:, 1:nl) = fqd(:, 1:nl) 292 asupmax1(:, 1:nl) = asupmax(:, 1:nl) 293 294 da1(:, 1:nl) = da(:, 1:nl) !AC! 295 mp1(:, 1:nl) = mp(:, 1:nl) !RomP 296 d1a1(:, 1:nl) = d1a(:, 1:nl) !RomP 297 dam1(:, 1:nl) = dam(:, 1:nl) !RomP 298 clw1(:, 1:nl) = clw(:, 1:nl) !RomP 299 evap1(:, 1:nl) = evap(:, 1:nl) !RomP 300 ep1(:, 1:nl) = ep(:, 1:nl) !RomP 301 eplamM1(:, 1:nl) = eplamM(:, 1:nl) !RomP+jyg 302 wdtrainA1(:, 1:nl) = wdtrainA(:, 1:nl) !RomP 303 wdtrainM1(:, 1:nl) = wdtrainM(:, 1:nl) !RomP 304 qtc1(:, 1:nl) = qtc(:, 1:nl) 305 sigt1(:, 1:nl) = sigt(:, 1:nl) 306 ! 307 ma1(:, nlp) = 0. 308 vprecip1(:, nlp) = 0. 309 vprecipi1(:, nlp) = 0. 310 upwd1(:, nlp) = 0. 311 dnwd1(:, nlp) = 0. 312 dnwd01(:, nlp) = 0. 313 314 ! 315 phi1 (:, 1:nl, 1:nl) = phi (:, 1:nl, 1:nl) !AC! 316 phi21 (:, 1:nl, 1:nl) = phi2 (:, 1:nl, 1:nl) !RomP 317 sigij1 (:, 1:nl, 1:nl) = sigij (:, 1:nl, 1:nl) !RomP 318 elij1 (:, 1:nl, 1:nl) = elij (:, 1:nl, 1:nl) !RomP 319 epmlmMm1(:, 1:nl, 1:nl) = epmlmMm(:, 1:nl, 1:nl) !RomP+jyg 284 320 ENDIF !(compress) 285 321 !>jyg
Note: See TracChangeset
for help on using the changeset viewer.