Changeset 1750 for LMDZ5/branches/testing/libf/phylmd/cv_driver.F
- Timestamp:
- Apr 25, 2013, 5:27:27 PM (11 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 1711-1716,1718,1720-1725,1727-1729,1732-1742,1744-1745
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/cv_driver.F
r965 r1750 9 9 & icb1,inb1, 10 10 & delt,Ma1,upwd1,dnwd1,dnwd01,qcondc1,wd1,cape1, 11 & da1,phi1,mp1) 11 & da1,phi1,mp1,phi21,d1a1,dam1,sij1,clw1,elij1, 12 & evap1,ep1,epmlmMm1,eplaMm1, 13 & wdtrainA1,wdtrainM1) 12 14 C 13 15 USE dimphy … … 67 69 cym#include "dimensions.h" 68 70 cym#include "dimphy.h" 69 71 c 72 c Input 70 73 integer len 71 74 integer nd … … 74 77 integer iflag_con 75 78 integer ntra 79 real delt 76 80 real t1(len,nd) 77 81 real q1(len,nd) … … 79 83 real u1(len,nd) 80 84 real v1(len,nd) 85 real tra1(len,nd,ntra) 81 86 real p1(len,nd) 82 87 real ph1(len,ndp1) 88 c 89 c Output 83 90 integer iflag1(len) 84 91 real ft1(len,nd) … … 86 93 real fu1(len,nd) 87 94 real fv1(len,nd) 95 real ftra1(len,nd,ntra) 88 96 real precip1(len) 89 97 real cbmf1(len) 90 real VPrecip1(len,nd+1) 98 real sig1(klon,klev) 99 real w01(klon,klev) 100 real VPrecip1(len,nd+1) 101 real evap1(len,nd) !RomP 102 real ep1(len,nd) !RomP 91 103 real Ma1(len,nd) 92 104 real upwd1(len,nd) … … 98 110 real cape1(len) 99 111 112 ! RomP >>> 113 real wdtrainA1(len,nd), wdtrainM1(len,nd) 114 real sij1(len,nd,nd),elij1(len,nd,nd) 100 115 real da1(len,nd),phi1(len,nd,nd),mp1(len,nd) 101 real da(len,nd),phi(len,nd,nd),mp(len,nd) 102 real tra1(len,nd,ntra) 103 real ftra1(len,nd,ntra) 104 105 real delt 116 117 real phi21(len,nd,nd) 118 real d1a1(len,nd), dam1(len,nd) 119 real epmlmMm1(len,nd,nd),eplaMm1(len,nd) 120 ! RomP <<< 121 106 122 107 123 !------------------------------------------------------------------- … … 243 259 real tvp1(klon,klev) 244 260 real clw1(klon,klev) 245 real sig1(klon,klev)246 real w01(klon,klev)247 261 real th1(klon,klev) 248 262 c … … 277 291 real ments(nloc,klev,klev), qents(nloc,klev,klev) 278 292 real sij(nloc,klev,klev), elij(nloc,klev,klev) 293 ! RomP >>> 294 real da(nloc,klev),phi(nloc,klev,klev),mp(nloc,klev) 295 real epmlmMm(nloc,klev,klev),eplaMm(nloc,klev) 296 real phi2(nloc,klev,klev) 297 real d1a(nloc,klev), dam(nloc,klev) 298 real wdtrainA(nloc,klev),wdtrainM(nloc,klev) 299 real sigd(nloc) 300 ! RomP <<< 279 301 real qp(nloc,klev), up(nloc,klev), vp(nloc,klev) 280 302 real wt(nloc,klev), water(nloc,klev), evap(nloc,klev) … … 295 317 ! --- SET CONSTANTS AND PARAMETERS 296 318 !------------------------------------------------------------------- 297 319 print *, '-> cv_driver' !jyg 298 320 c -- set simulation flags: 299 321 c (common cvflag) … … 325 347 !--------------------------------------------------------------------- 326 348 327 do 20 k=1,nd 328 do 10 i=1,len 329 ft1(i,k)=0.0 330 fq1(i,k)=0.0 331 fu1(i,k)=0.0 332 fv1(i,k)=0.0 333 tvp1(i,k)=0.0 334 tp1(i,k)=0.0 335 clw1(i,k)=0.0 349 ft1(:,:)=0.0 350 fq1(:,:)=0.0 351 fu1(:,:)=0.0 352 fv1(:,:)=0.0 353 tvp1(:,:)=0.0 354 tp1(:,:)=0.0 355 clw1(:,:)=0.0 336 356 cym 337 clw(i,k)=0.0 338 gz1(i,k) = 0. 339 VPrecip1(i,k) = 0. 340 Ma1(i,k)=0.0 341 upwd1(i,k)=0.0 342 dnwd1(i,k)=0.0 343 dnwd01(i,k)=0.0 344 qcondc1(i,k)=0.0 345 10 continue 346 20 continue 347 348 do 30 j=1,ntra 349 do 31 k=1,nd 350 do 32 i=1,len 351 ftra1(i,k,j)=0.0 352 32 continue 353 31 continue 354 30 continue 355 356 do 60 i=1,len 357 precip1(i)=0.0 358 iflag1(i)=0 359 wd1(i)=0.0 360 cape1(i)=0.0 361 VPrecip1(i,nd+1)=0.0 362 60 continue 357 clw(:,:)=0.0 358 gz1(:,:) = 0. 359 VPrecip1(:,:) = 0. 360 Ma1(:,:)=0.0 361 upwd1(:,:)=0.0 362 dnwd1(:,:)=0.0 363 dnwd01(:,:)=0.0 364 qcondc1(:,:)=0.0 365 366 ftra1(:,:,:)=0.0 367 368 elij1(:,:,:) = 0.0 369 sij1(:,:,:) = 0.0 370 371 precip1(:)=0.0 372 iflag1(:)=0 373 wd1(:)=0.0 374 cape1(:)=0.0 363 375 364 376 if (iflag_con.eq.30) then … … 441 453 400 continue 442 454 443 c print*,'klon, ncum = ',len,ncum455 print*,'cv_driver : klon, ncum = ',len,ncum 444 456 445 457 IF (ncum.gt.0) THEN … … 541 553 542 554 if (iflag_con.eq.30) then 543 CALL cv30_unsat(nloc,ncum,nd,nd,ntra,icb,inb ! na->nd 555 !RomP >>> 556 CALL cv30_unsat(nloc,ncum,nd,nd,ntra,icb,inb ! na->nd 544 557 : ,t,q,qs,gz,u,v,tra,p,ph 545 558 : ,th,tv,lv,cpn,ep,sigp,clw 546 559 : ,m,ment,elij,delt,plcl 547 o ,mp,qp,up,vp,trap,wt,water,evap,b) 560 : ,mp,qp,up,vp,trap,wt,water,evap,b 561 o ,wdtrainA,wdtrainM) 562 !RomP <<< 548 563 endif 549 564 … … 588 603 589 604 if (iflag_con.eq.30) then 605 !RomP >>> 590 606 CALL cv30_tracer(nloc,len,ncum,nd,nd, 591 : ment,sij,da,phi) 607 : ment,sij,da,phi,phi2,d1a,dam, 608 : ep,VPrecip,elij,clw,epmlmMm,eplaMm, 609 : icb,inb) 610 !RomP <<< 592 611 endif 593 612 … … 603 622 CALL cv30_uncompress(nloc,len,ncum,nd,ntra,idcum 604 623 : ,iflag 605 : ,precip,VPrecip, sig,w0624 : ,precip,VPrecip,evap,ep,sig,w0 !RomP 606 625 : ,ft,fq,fu,fv,ftra 607 : ,inb 626 : ,inb 608 627 : ,Ma,upwd,dnwd,dnwd0,qcondc,wd,cape 609 : ,da,phi,mp 628 : ,da,phi,mp,phi2,d1a,dam,sij !RomP 629 : ,elij,clw,epmlmMm,eplaMm !RomP 630 : ,wdtrainA,wdtrainM !RomP 610 631 o ,iflag1 611 o ,precip1,VPrecip1, sig1,w01632 o ,precip1,VPrecip1,evap1,ep1,sig1,w01 !RomP 612 633 o ,ft1,fq1,fu1,fv1,ftra1 613 634 o ,inb1 614 635 o ,Ma1,upwd1,dnwd1,dnwd01,qcondc1,wd1,cape1 615 o ,da1,phi1,mp1) 636 o ,da1,phi1,mp1,phi21,d1a1,dam1,sij1 !RomP 637 o ,elij1,clw1,epmlmMm1,eplaMm1 !RomP 638 o ,wdtrainA1,wdtrainM1) !RomP 616 639 endif 617 640 … … 632 655 9999 continue 633 656 657 print *, 'fin cv_driver ->' !jyg 634 658 return 635 659 end
Note: See TracChangeset
for help on using the changeset viewer.