Page 1 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 1 c ********************************************************************** 2 c ********************************************************************** 3 c *** ETKF targeting code to provide summary maps of signal variance *** 4 c ***** (c) S.J.Majumdar, C.H.Bishop, B.J.Etherton, December 1999. ***** 5 c *************** Code developed at Penn State University ************** 6 c ********************************************************************** 7 c ********************************************************************** 8 9 10 c 3456789012345678901234567890123456789012345678901234567890123456789012 11 program summ_allnorms 12 include 'mpif.h' 520 allocatable sistr(:) 521 allocatable sigtop(:) 522 double precision,allocatable::xvvest(:,:) 523 double precision,allocatable::cmat(:,:) 524 double precision,allocatable::ceval(:) 525 double precision,allocatable::yvvest(:,:) 526 double precision,allocatable::ytvec(:,:) 527 double precision,allocatable::hy(:,:) 528 double precision,allocatable::hyt(:,:) 529 double precision,allocatable::obs(:,:,:) 530 double precision,allocatable::bsig(:,:) 531 double precision,allocatable::betasig(:) 532 double precision,allocatable::bsig2(:,:) 533 double precision,allocatable::svpvr(:,:) 534 double precision,allocatable::sig(:,:) 535 double precision,allocatable::sigall(:,:) 536 double precision,allocatable::work3(:,:) 537 double precision :: time_begin, time_end 538 539 double precision :: fev_routine 540 real :: uvsd,uv850sd,prcpsd,mslpsd,z500sd 541 real :: sigmaxi,sigmaxj 542 543 integer :: ierr, myrank, nprocs 544 integer, parameter :: MASTER=0 545 546 call MPI_INIT(ierr) 547 call MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) 548 call MPI_COMM_RANK(MPI_COMM_WORLD, myrank, ierr) 549 550 print*, 'myrank=', myrank 551 552 c eg. read in 144 37 37 177 80 300 80 0 135.0 35.0 553 554 if (myrank .eq. MASTER) then 555 read(5,*)idim,jdim,jstr,mem,rlon1,rlon2,rlat1,rlat2, 556 &vrlon,vrlat,radvr,nd,nd9,nd12,georad,ne1,n2,nvr,nvr12,nv, 557 &ne9,ltcode,casecode,ivnorm 558 close(5) 559 560 allocate(sistr(jstr)) 561 allocate(sigtop(jstr)) 562 allocate(ytvec(ne9,mem)) 563 allocate(ceval(mem)) 564 allocate(cmat(mem,mem)) Page 2 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 565 allocate(xvvest(ne1,mem)) 566 567 allocate(yvvest(nvr12,mem)) 568 allocate(hy(nd9,mem)) 569 allocate(hyt(mem,nd9)) 570 allocate(obs(idim,jdim,9)) 571 allocate(bsig(mem,mem)) 572 allocate(betasig(mem)) 573 allocate(bsig2(mem,mem)) 574 allocate(svpvr(nvr12,mem)) 575 allocate(sig(idim,jdim)) 576 allocate(sigall(idim,jdim)) 577 allocate(work3(mem,mem)) 578 579 idim11=nint(rlon1/2.5)+1 580 idim12=nint(rlon2/2.5)+1 581 if (idim11.gt.idim12) idim12=idim12+idim 582 jdim11=nint((90.-rlat1)/2.5)+1 583 jdim12=nint((90.-rlat2)/2.5)+1 584 585 ivr=nint(vrlon/2.5)+1 586 jvr=nint((90.-vrlat)/2.5)+1 587 588 open(16,form='formatted') 589 write(16,*) ivr, jvr, vrlon, vrlat 590 close(16) 591 592 knum1=ltcode+8200 593 knum2=ltcode+8300 594 knum3=ltcode+8400 595 knum5=casecode+8600 596 read(knum1) ytvec 597 read(knum2) ceval 598 read(knum3) cmat 599 read(knum5) xvvest 600 close(knum1) 601 close(knum2) 602 close(knum3) 603 close(knum5) 604 605 knum0=1234 606 open(knum0,form='formatted') 607 read(knum0,*) uvsd 608 read(knum0,*) uv850sd 609 read(knum0,*) prcpsd 610 read(knum0,*) mslpsd 611 read(knum0,*) z500sd 612 close(knum0) 613 614 pi=acos(-1.0) 615 dpsieq=1./36. 616 do j=1,jstr 617 jeq=37-j 618 sistr(j)=asin(jeq*dpsieq) 619 sigtop(j)=(pi/2.)-sistr(j) 620 end do 621 Page 3 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 622 call calcvrci(ivr,jvr,sistr,sigtop,cmat,ivm,xvvest,yvvest, 623 &jstr,ne1,mem,nvr12,idim,jdim,radvr,georad) 624 call calc_fev_routine(ivm,yvvest,fev_routine, 625 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 626 & nvr12,mem,ivnorm) 627 628 do 125 i=1,idim 629 do 125 j=1,jdim 630 obs(i,j,1)=2.4**2 631 obs(i,j,2)=2.8**2 632 obs(i,j,3)=2.95**2 633 obs(i,j,4)=2.4**2 634 obs(i,j,5)=2.8**2 635 obs(i,j,6)=2.95**2 636 obs(i,j,7)=0.8**2 637 obs(i,j,8)=0.8**2 638 obs(i,j,9)=1.2**2 639 125 continue 640 641 642 deallocate(sistr) 643 deallocate(sigtop) 644 deallocate(ceval) 645 deallocate(cmat) 646 deallocate(xvvest) 647 648 endif 649 650 CALL MPI_BCAST(idim,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 651 CALL MPI_BCAST(jdim,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 652 CALL MPI_BCAST(idim11,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 653 CALL MPI_BCAST(idim12,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 654 CALL MPI_BCAST(jdim11,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 655 CALL MPI_BCAST(jdim12,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 656 CALL MPI_BCAST(ne9,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 657 CALL MPI_BCAST(nd9,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 658 CALL MPI_BCAST(mem,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 659 CALL MPI_BCAST(nd,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 660 CALL MPI_BCAST(ivnorm,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 661 CALL MPI_BCAST(ivm,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 662 CALL MPI_BCAST(nvr12,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 663 CALL MPI_BCAST(uvsd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 664 CALL MPI_BCAST(uv850sd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 665 CALL MPI_BCAST(prcpsd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 666 CALL MPI_BCAST(mslpsd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 667 CALL MPI_BCAST(z500sd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 668 CALL MPI_BCAST(fev_routine,1,MPI_DOUBlE_PRECISION,MASTER, 669 & MPI_COMM_WORLD,ierr) 670 671 CALL MPI_BARRIER(MPI_COMM_WORLD, ierr) 672 673 if (myrank .ne. MASTER) then 674 allocate(obs(idim,jdim,9)) 675 allocate(ytvec(ne9,mem)) 676 allocate(yvvest(nvr12,mem)) 677 678 allocate(hy(nd9,mem)) Page 4 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 679 allocate(hyt(mem,nd9)) 680 allocate(bsig(mem,mem)) 681 allocate(betasig(mem)) 682 allocate(bsig2(mem,mem)) 683 allocate(svpvr(nvr12,mem)) 684 allocate(sig(idim,jdim)) 685 allocate(sigall(idim,jdim)) 686 allocate(work3(mem,mem)) 687 endif 688 689 690 CALL MPI_BCAST(obs,idim*jdim*9,MPI_DOUBlE_PRECISION,MASTER, 691 & MPI_COMM_WORLD,ierr) 692 CALL MPI_BCAST(ytvec,ne9*mem,MPI_DOUBlE_PRECISION,MASTER, 693 & MPI_COMM_WORLD,ierr) 694 CALL MPI_BCAST(yvvest,nvr12*mem,MPI_DOUBlE_PRECISION,MASTER, 695 & MPI_COMM_WORLD,ierr) 696 697 CALL MPI_BARRIER(MPI_COMM_WORLD, ierr) 698 699 * -------------------------------------------------------- 700 * START INTRODUCING DIFFERENT SETS OF OBSERVATIONS 701 * -------------------------------------------------------- 702 sig=0.0 703 sigall=0.0 704 705 time_begin = MPI_Wtime() 706 707 c do 10101 jr2=jdim11+myrank*2,jdim12,2*nprocs 708 c do 10102 ir2=idim11,idim12,2 709 710 do 10101 ir2=idim11+myrank*2,idim12,2*nprocs 711 print*, "ir2=",ir2, " myrank=",myrank 712 do 10102 jr2=jdim11,jdim12,2 713 714 HY=0.0 715 call squareTR2(ir2,jr2,obs,hy,ytvec,idim,jdim,ne9,nd9,mem,nd) 716 717 * ------------------------------------------------------------- 718 * Time to calculate the MEM eigenvalues [BETA_sigma] and 719 * eigenvectors [B_sigma] of Hstar*P*Hstar(T) 720 * ------------------------------------------------------------- 721 CALL DTRANS(nd9,MEM,HY,HYT) 722 723 CALL DMRRRR(MEM,nd9,HYT,MEM,nd9,MEM,HY,nd9,MEM,MEM,WORK3,MEM) 724 725 CALL DEVCSF(MEM,WORK3,MEM,BETASIG,BSIG,MEM) 726 727 do 1231 nm1=1,mem 728 if (BETASIG(nm1).le.1.0e-12) BETASIG(nm1)=1.0e-15 729 1231 continue 730 731 do 123 nm1=1,mem 732 do 123 nm2=1,mem 733 BSIG2(nm1,nm2)= 734 & BSIG(nm1,nm2)*sqrt(BETASIG(nm2)/(1.+BETASIG(nm2))) 735 123 continue Page 5 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 736 737 * ---------------------------------------------------------------- 738 * Calculate signal variance as function of target region 739 * ---------------------------------------------------------------- 740 CALL DMRRRR(nvr12,MEM,yvvest,nvr12,MEM,MEM,BSIG2,MEM, 741 & nvr12,MEM,svpvr,nvr12) 742 743 * ---------------------------------------------------------------- 744 * HERE IS WHERE WE DEFINE THE NORM !! 745 * ---------------------------------------------------------------- 746 sig(ir2,jr2)=0.0 747 do 61 ivcount=1,ivm 748 do 61 k=1,mem 749 iu850=(ivcount-1)*12 + 1 750 iv850=(ivcount-1)*12 + 2 751 iu500=(ivcount-1)*12 + 3 752 iv500=(ivcount-1)*12 + 4 753 iu200=(ivcount-1)*12 + 5 754 iv200=(ivcount-1)*12 + 6 755 it850=(ivcount-1)*12 + 7 756 it500=(ivcount-1)*12 + 8 757 it200=(ivcount-1)*12 + 9 758 iprcp=(ivcount-1)*12 + 10 759 imslp=(ivcount-1)*12 + 11 760 iz500=(ivcount-1)*12 + 12 761 762 * ****** (u,v) verifying norm ****** 763 if (ivnorm.eq.1) then 764 sig(ir2,jr2)=sig(ir2,jr2) + 765 & svpvr(iu850,k)**2 + svpvr(iv850,k)**2 + 766 & svpvr(iu500,k)**2 + svpvr(iv500,k)**2 + 767 & svpvr(iu200,k)**2 + svpvr(iv200,k)**2 768 endif 769 770 * ****** Total energy verifying norm ****** 771 if (ivnorm.eq.2) then 772 sig(ir2,jr2)=sig(ir2,jr2) + 773 & 0.5*( svpvr(iu850,k)**2 + svpvr(iv850,k)**2 + 774 & svpvr(iu500,k)**2 + svpvr(iv500,k)**2 + 775 & svpvr(iu200,k)**2 + svpvr(iv200,k)**2 ) + 776 & 3.346*( svpvr(it850,k)**2 + svpvr(it500,k)**2 + 777 & svpvr(it200,k)**2 ) 778 endif 779 780 * ****** (u850,v850,precip,mslp) verifying norm ****** 781 if (ivnorm.eq.3) then 782 sig(ir2,jr2)=sig(ir2,jr2) + 783 & (svpvr(iu850,k)**2 + svpvr(iv850,k)**2)/uv850sd**2 + 784 & (svpvr(iprcp,k)/prcpsd)**2 + (svpvr(imslp,k)/mslpsd)**2 785 endif 786 787 61 continue 788 789 if (ivnorm.eq.1) then 790 sig(ir2,jr2)=sig(ir2,jr2)/(mem*ivm*3.0) 791 endif 792 Page 6 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 793 if (ivnorm.eq.2) then 794 sig(ir2,jr2)=sig(ir2,jr2)/(mem*ivm*3.0) 795 endif 796 797 if (ivnorm.eq.3) then 798 sig(ir2,jr2)=sig(ir2,jr2)/(mem*ivm) 799 endif 800 801 802 10102 continue 803 10101 continue 804 805 time_end = MPI_Wtime() 806 print*,time_end-time_begin,' seconds', 'rank=', myrank 807 808 C CALL MPI_GATHER( 809 CALL MPI_REDUCE(sig,sigall,idim*jdim,MPI_DOUBLE_PRECISION, 810 & MPI_SUM,MASTER,MPI_COMM_WORLD,ierr) 811 812 if (myrank .eq. MASTER) then 813 814 do 10104 jr2=jdim11,jdim12,2 815 do 10105 ir2=idim11,idim12,2 816 817 write(6,99) 'Signal variance(',ir2,',',jr2,')=',sigall(ir2,jr2), 818 & ' fcst.err.var of routine network=',fev_routine 819 if (sigall(ir2,jr2).gt.sigmax) then 820 sigmax=sigall(ir2,jr2) 821 imx=ir2 822 jmx=jr2 823 endif 824 825 10105 continue 826 10104 continue 827 828 C sigmaxi=((imx-1)*2.5)-360. 829 sigmaxi=((imx-1)*2.5) 830 sigmaxj=90.-((jmx-1)*2.5) 831 832 open(301,form='formatted') 833 write(301,*) 9 834 write(301,667) sigmaxi,sigmaxj 835 write(301,667) (sigmaxi+5.0),(sigmaxj+5.0) 836 write(301,667) (sigmaxi+5.0),(sigmaxj) 837 write(301,667) (sigmaxi+5.0),(sigmaxj-5.0) 838 write(301,667) (sigmaxi-5.0),(sigmaxj+5.0) 839 write(301,667) (sigmaxi-5.0),(sigmaxj) 840 write(301,667) (sigmaxi-5.0),(sigmaxj-5.0) 841 write(301,667) (sigmaxi),(sigmaxj+5.0) 842 write(301,667) (sigmaxi),(sigmaxj-5.0) 843 close(301) 844 667 format (F9.3,F9.3) 845 846 open(10,form='formatted') 847 do 601 j=jdim11,jdim12,2 848 do 601 i=idim11,idim12,2 849 write(10,666)i,j,sigall(i,j) Page 7 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 850 601 continue 851 close(10) 852 853 99 format (A16,I3,A1,I2,A2,F7.2,A35,F7.2) 854 666 format(2i5,f12.3) 855 856 endif 857 858 call MPI_FINALIZE(ierr) 859 860 STOP 861 END ENTRY POINTS Name MAIN__ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10101 Label 296 203 10102 Label 295 205 10104 Label 319 307 10105 Label 318 308 123 Label 228 224,225 1231 Label 222 220 125 Label 132 121,122 601 Label 343 340,341 61 Label 280 240,241 666 Label 347 342 667 Label 337 327,328,329,330,331,332,333,334,33 5 99 Label 346 310 ACOS Func 107 scalar 107 ASIN Func 111 scalar 111 BETASIG Local 24 R(8) 8 1 1 ALC 65,174,218,221,227 BSIG Local 23 R(8) 8 2 1 ALC 64,173,218,227 BSIG2 Local 25 R(8) 8 2 1 ALC 66,175,226,233 CALCVRCI Subr 115 115 CALC_FEV_ROUTINE Subr 117 117 CASECODE Local 50 R(4) 4 scalar 50,88 CEVAL Local 17 R(8) 8 1 1 ALC 56,90,137 CMAT Local 16 R(8) 8 2 1 ALC 57,91,115,138 DEVCSF Subr 218 218 DMRRRR Subr 216 216,233 DPSIEQ Local 108 R(4) 4 scalar 108,111 DTRANS Subr 214 214 FEV_ROUTINE Local 32 R(8) 8 scalar 117,161,311 GEORAD Local 49 R(4) 4 scalar 49,116 HY Local 20 R(8) 8 2 1 ALC 61,171,207,208,214,216 HYT Local 21 R(8) 8 2 1 ALC 62,172,214,216 I Local 121 I(4) 4 scalar 121,123,124,125,126,127,128,129,13 Page 8 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References 0,131,341,342 IDIM Local 48 I(4) 4 scalar 48,63,68,69,74,116,121,143,167,177 ,178,183,208,302 IDIM11 Local 72 I(4) 4 scalar 72,74,145,203,308,341 IDIM12 Local 73 I(4) 4 scalar 73,74,146,203,308,341 IERR Local 36 I(4) 4 scalar 39,40,41,143,144,145,146,147,148,1 49,150,151,152,153,154,155,156,157 ,158,159,160,162,164,184,186,188,1 90,303,351 IMSLP Local 252 I(4) 4 scalar 252,277 IMX Local 314 I(4) 4 scalar 314,322 IPRCP Local 251 I(4) 4 scalar 251,277 IR2 Local 203 I(4) 4 scalar 203,204,208,239,257,265,275,283,28 7,291,308,310,312,313,314 IT200 Local 250 I(4) 4 scalar 250,270 IT500 Local 249 I(4) 4 scalar 249,269 IT850 Local 248 I(4) 4 scalar 248,269 IU200 Local 246 I(4) 4 scalar 246,260,268 IU500 Local 244 I(4) 4 scalar 244,259,267 IU850 Local 242 I(4) 4 scalar 242,258,266,276 IV200 Local 247 I(4) 4 scalar 247,260,268 IV500 Local 245 I(4) 4 scalar 245,259,267 IV850 Local 243 I(4) 4 scalar 243,258,266,276 IVCOUNT Local 240 I(4) 4 scalar 240,242,243,244,245,246,247,248,24 9,250,251,252,253 IVM Local 115 I(4) 4 scalar 115,117,154,240,283,287,291 IVNORM Local 50 I(4) 4 scalar 50,119,153,256,264,274,282,286,290 IVR Local 78 I(4) 4 scalar 78,82,115 IZ500 Local 253 I(4) 4 scalar 253 J Local 109 I(4) 4 scalar 109,110,111,112,122,123,124,125,12 6,127,128,129,130,131,340,342 JDIM Local 48 I(4) 4 scalar 48,63,68,69,116,122,144,167,177,17 8,183,208,302 JDIM11 Local 75 I(4) 4 scalar 75,147,205,307,340 JDIM12 Local 76 I(4) 4 scalar 76,148,205,307,340 JEQ Local 110 I(4) 4 scalar 110,111 JMX Local 315 I(4) 4 scalar 315,323 JR2 Local 205 I(4) 4 scalar 205,208,239,257,265,275,283,287,29 1,307,310,312,313,315 JSTR Local 48 I(4) 4 scalar 48,53,54,109,116 JVR Local 79 I(4) 4 scalar 79,82,115 K Local 241 I(4) 4 scalar 241,258,259,260,266,267,268,269,27 0,276,277 KNUM0 Local 98 I(4) 4 scalar 98,99,100,101,102,103,104,105 KNUM1 Local 85 I(4) 4 scalar 85,89,93 KNUM2 Local 86 I(4) 4 scalar 86,90,94 KNUM3 Local 87 I(4) 4 scalar 87,91,95 KNUM5 Local 88 I(4) 4 scalar 88,92,96 LTCODE Local 50 I(4) 4 scalar 50,85,86,87 MASTER Param 37 I(4) 4 scalar 47,143,144,145,146,147,148,149,150 ,151,152,153,154,155,156,157,158,1 59,160,161,166,183,185,187,303,305 MEM Local 48 I(4) 4 scalar 48,55,56,57,58,60,61,62,64,65,66,6 7,70,116,119,151,168,169,171,172,1 73,174,175,176,179,185,187,208,214 Page 9 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References ,216,218,220,224,225,233,234,241,2 83,287,291 MPIFCMB1 Common 497 20 MPIFCMB2 Common 498 20 MPIFCMB3 Common 499 4 MPIFCMB4 Common 500 4 MPIFCMB5 Common 501 4 MPIFCMB6 Common 502 4 MPIFCMB7 Common 503 4 MPIFCMB8 Common 504 4 MPI_2COMPLEX Param 266 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 272 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 268 I(4) 4 scalar MPI_2INT Param 349 I(4) 4 scalar MPI_2INTEGER Param 264 I(4) 4 scalar MPI_2REAL Param 270 I(4) 4 scalar MPI_ADDRESS_KIND Param 306 I(4) 4 scalar MPI_AINT Param 379 I(4) 4 scalar MPI_ANY_SOURCE Param 232 I(4) 4 scalar MPI_ANY_TAG Param 234 I(4) 4 scalar MPI_APPNUM Param 202 I(4) 4 scalar MPI_ARGVS_NULL Scalar 16 CHAR 1 2 1 COM MPI_ARGV_NULL Scalar 17 CHAR 1 1 1 COM MPI_BAND Param 150 I(4) 4 scalar MPI_BARRIER Subr 164 164,190 MPI_BCAST Subr 143 143,144,145,146,147,148,149,150,15 1,152,153,154,155,156,157,158,159, 160,161,183,185,187 MPI_BOR Param 154 I(4) 4 scalar MPI_BOTTOM Scalar 481 I(4) 4 scalar COM MPI_BSEND_OVERHEAD Param 228 I(4) 4 scalar MPI_BXOR Param 158 I(4) 4 scalar MPI_BYTE Param 276 I(4) 4 scalar MPI_CART Param 240 I(4) 4 scalar MPI_CHAR Param 309 I(4) 4 scalar MPI_CHARACTER Param 274 I(4) 4 scalar MPI_COMBINER_CONTIGUOUS Param 387 I(4) 4 scalar MPI_COMBINER_DARRAY Param 409 I(4) 4 scalar MPI_COMBINER_DUP Param 385 I(4) 4 scalar MPI_COMBINER_F90_COMPLEX Param 413 I(4) 4 scalar MPI_COMBINER_F90_INTEGER Param 415 I(4) 4 scalar MPI_COMBINER_F90_REAL Param 411 I(4) 4 scalar MPI_COMBINER_HINDEXED Param 399 I(4) 4 scalar MPI_COMBINER_HINDEXED_INTE GER Param 397 I(4) 4 scalar MPI_COMBINER_HVECTOR Param 393 I(4) 4 scalar MPI_COMBINER_HVECTOR_INTEG ER Param 391 I(4) 4 scalar MPI_COMBINER_INDEXED Param 395 I(4) 4 scalar MPI_COMBINER_INDEXED_BLOCK Param 401 I(4) 4 scalar MPI_COMBINER_NAMED Param 383 I(4) 4 scalar MPI_COMBINER_RESIZED Param 417 I(4) 4 scalar MPI_COMBINER_STRUCT Param 405 I(4) 4 scalar MPI_COMBINER_STRUCT_INTEGE R Param 403 I(4) 4 scalar Page 10 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_COMBINER_SUBARRAY Param 407 I(4) 4 scalar MPI_COMBINER_VECTOR Param 389 I(4) 4 scalar MPI_COMM_DUP_FN Subr 485 scalar MPI_COMM_NULL Param 172 I(4) 4 scalar MPI_COMM_NULL_COPY_FN Subr 486 scalar MPI_COMM_NULL_DELETE_FN Subr 485 scalar MPI_COMM_RANK Subr 41 41 MPI_COMM_SELF Param 168 I(4) 4 scalar MPI_COMM_SIZE Subr 40 40 MPI_COMM_WORLD Param 166 I(4) 4 scalar 40,41,143,144,145,146,147,148,149, 150,151,152,153,154,155,156,157,15 8,159,160,162,164,184,186,188,190, 303 MPI_COMPLEX Param 252 I(4) 4 scalar MPI_COMPLEX16 Param 302 I(4) 4 scalar MPI_COMPLEX32 Param 304 I(4) 4 scalar MPI_COMPLEX8 Param 300 I(4) 4 scalar MPI_CONGRUENT Param 134 I(4) 4 scalar MPI_CONVERSION_FN_NULL Subr 491 scalar MPI_C_BOOL Param 369 I(4) 4 scalar MPI_C_COMPLEX Param 373 I(4) 4 scalar MPI_C_DOUBLE_COMPLEX Param 375 I(4) 4 scalar MPI_C_FLOAT_COMPLEX Param 371 I(4) 4 scalar MPI_C_LONG_DOUBLE_COMPLEX Param 377 I(4) 4 scalar MPI_DATATYPE_NULL Param 182 I(4) 4 scalar 293 MPI_DISPLACEMENT_CURRENT Param 479 I(8) 8 scalar MPI_DISTRIBUTE_BLOCK Param 471 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 473 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 477 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 475 I(4) 4 scalar MPI_DIST_GRAPH Param 242 I(4) 4 scalar MPI_DOUBLE Param 331 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 254 I(4) 4 scalar MPI_DOUBLE_INT Param 343 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 260 I(4) 4 scalar 161,183,185,187,302 MPI_DUP_FN Subr 482 scalar MPI_ERRCODES_IGNORE Scalar 15 I(4) 4 1 1 COM MPI_ERRHANDLER_NULL Param 186 I(4) 4 scalar MPI_ERROR Param 9 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 128 I(4) 4 scalar MPI_ERRORS_RETURN Param 130 I(4) 4 scalar MPI_ERR_ACCESS Param 122 I(4) 4 scalar MPI_ERR_AMODE Param 106 I(4) 4 scalar MPI_ERR_ARG Param 42 I(4) 4 scalar MPI_ERR_ASSERT Param 64 I(4) 4 scalar MPI_ERR_BAD_FILE Param 96 I(4) 4 scalar MPI_ERR_BASE Param 30 I(4) 4 scalar MPI_ERR_BUFFER Param 48 I(4) 4 scalar MPI_ERR_COMM Param 70 I(4) 4 scalar MPI_ERR_CONVERSION Param 126 I(4) 4 scalar MPI_ERR_COUNT Param 26 I(4) 4 scalar MPI_ERR_DIMS Param 112 I(4) 4 scalar MPI_ERR_DISP Param 58 I(4) 4 scalar MPI_ERR_DUP_DATAREP Param 50 I(4) 4 scalar MPI_ERR_FILE Param 24 I(4) 4 scalar Page 11 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_FILE_EXISTS Param 66 I(4) 4 scalar MPI_ERR_FILE_IN_USE Param 98 I(4) 4 scalar MPI_ERR_GROUP Param 78 I(4) 4 scalar MPI_ERR_INFO Param 92 I(4) 4 scalar MPI_ERR_INFO_KEY Param 36 I(4) 4 scalar MPI_ERR_INFO_NOKEY Param 62 I(4) 4 scalar MPI_ERR_INFO_VALUE Param 86 I(4) 4 scalar MPI_ERR_INTERN Param 118 I(4) 4 scalar MPI_ERR_IN_STATUS Param 34 I(4) 4 scalar MPI_ERR_IO Param 120 I(4) 4 scalar MPI_ERR_KEYVAL Param 72 I(4) 4 scalar MPI_ERR_LASTCODE Param 54 I(4) 4 scalar MPI_ERR_LOCKTYPE Param 38 I(4) 4 scalar MPI_ERR_NAME Param 74 I(4) 4 scalar MPI_ERR_NOT_SAME Param 88 I(4) 4 scalar MPI_ERR_NO_MEM Param 94 I(4) 4 scalar MPI_ERR_NO_SPACE Param 124 I(4) 4 scalar MPI_ERR_NO_SUCH_FILE Param 114 I(4) 4 scalar MPI_ERR_OP Param 40 I(4) 4 scalar MPI_ERR_OTHER Param 20 I(4) 4 scalar MPI_ERR_PENDING Param 68 I(4) 4 scalar MPI_ERR_PORT Param 60 I(4) 4 scalar MPI_ERR_QUOTA Param 104 I(4) 4 scalar MPI_ERR_RANK Param 110 I(4) 4 scalar MPI_ERR_READ_ONLY Param 44 I(4) 4 scalar MPI_ERR_REQUEST Param 76 I(4) 4 scalar MPI_ERR_RMA_CONFLICT Param 32 I(4) 4 scalar MPI_ERR_RMA_SYNC Param 90 I(4) 4 scalar MPI_ERR_ROOT Param 108 I(4) 4 scalar MPI_ERR_SERVICE Param 116 I(4) 4 scalar MPI_ERR_SIZE Param 46 I(4) 4 scalar MPI_ERR_SPAWN Param 28 I(4) 4 scalar MPI_ERR_TAG Param 84 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 80 I(4) 4 scalar MPI_ERR_TRUNCATE Param 56 I(4) 4 scalar MPI_ERR_TYPE Param 82 I(4) 4 scalar MPI_ERR_UNKNOWN Param 100 I(4) 4 scalar MPI_ERR_UNSUPPORTED_DATARE P Param 52 I(4) 4 scalar MPI_ERR_UNSUPPORTED_OPERAT ION Param 102 I(4) 4 scalar MPI_ERR_WIN Param 22 I(4) 4 scalar MPI_FILE_NULL Param 176 I(4) 4 scalar MPI_FINALIZE Subr 351 351 MPI_FLOAT Param 329 I(4) 4 scalar MPI_FLOAT_INT Param 341 I(4) 4 scalar MPI_GRAPH Param 238 I(4) 4 scalar MPI_GROUP_EMPTY Param 170 I(4) 4 scalar MPI_GROUP_NULL Param 178 I(4) 4 scalar MPI_HOST Param 192 I(4) 4 scalar MPI_IDENT Param 132 I(4) 4 scalar MPI_INFO_NULL Param 188 I(4) 4 scalar MPI_INIT Subr 39 39 MPI_INT Param 321 I(4) 4 scalar MPI_INT16_T Param 355 I(4) 4 scalar Page 12 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_INT32_T Param 357 I(4) 4 scalar MPI_INT64_T Param 359 I(4) 4 scalar MPI_INT8_T Param 353 I(4) 4 scalar MPI_INTEGER Param 262 I(4) 4 scalar 143,144,145,146,147,148,149,150,15 1,152,153,154,155 MPI_INTEGER1 Param 284 I(4) 4 scalar MPI_INTEGER16 Param 292 I(4) 4 scalar MPI_INTEGER2 Param 286 I(4) 4 scalar MPI_INTEGER4 Param 288 I(4) 4 scalar MPI_INTEGER8 Param 290 I(4) 4 scalar MPI_IN_PLACE Scalar 481 I(4) 4 scalar COM MPI_IO Param 194 I(4) 4 scalar MPI_KEYVAL_INVALID Param 226 I(4) 4 scalar MPI_LAND Param 148 I(4) 4 scalar MPI_LASTUSEDCODE Param 200 I(4) 4 scalar MPI_LB Param 280 I(4) 4 scalar MPI_LOCK_EXCLUSIVE Param 248 I(4) 4 scalar MPI_LOCK_SHARED Param 250 I(4) 4 scalar MPI_LOGICAL Param 256 I(4) 4 scalar MPI_LONG Param 325 I(4) 4 scalar MPI_LONG_DOUBLE Param 333 I(4) 4 scalar MPI_LONG_DOUBLE_INT Param 351 I(4) 4 scalar MPI_LONG_INT Param 345 I(4) 4 scalar MPI_LONG_LONG Param 339 I(4) 4 scalar MPI_LONG_LONG_INT Param 335 I(4) 4 scalar MPI_LOR Param 152 I(4) 4 scalar MPI_LXOR Param 156 I(4) 4 scalar MPI_MAX Param 140 I(4) 4 scalar MPI_MAXLOC Param 162 I(4) 4 scalar MPI_MAX_DATAREP_STRING Param 222 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 210 I(4) 4 scalar MPI_MAX_INFO_KEY Param 216 I(4) 4 scalar MPI_MAX_INFO_VAL Param 218 I(4) 4 scalar MPI_MAX_OBJECT_NAME Param 214 I(4) 4 scalar MPI_MAX_PORT_NAME Param 212 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 220 I(4) 4 scalar MPI_MIN Param 142 I(4) 4 scalar MPI_MINLOC Param 160 I(4) 4 scalar MPI_MODE_APPEND Param 457 I(4) 4 scalar MPI_MODE_CREATE Param 453 I(4) 4 scalar MPI_MODE_DELETE_ON_CLOSE Param 449 I(4) 4 scalar MPI_MODE_EXCL Param 455 I(4) 4 scalar MPI_MODE_NOCHECK Param 425 I(4) 4 scalar MPI_MODE_NOPRECEDE Param 431 I(4) 4 scalar MPI_MODE_NOPUT Param 429 I(4) 4 scalar MPI_MODE_NOSTORE Param 427 I(4) 4 scalar MPI_MODE_NOSUCCEED Param 433 I(4) 4 scalar MPI_MODE_RDONLY Param 443 I(4) 4 scalar MPI_MODE_RDWR Param 445 I(4) 4 scalar MPI_MODE_SEQUENTIAL Param 459 I(4) 4 scalar MPI_MODE_UNIQUE_OPEN Param 451 I(4) 4 scalar MPI_MODE_WRONLY Param 447 I(4) 4 scalar MPI_NULL_COPY_FN Subr 482 scalar MPI_NULL_DELETE_FN Subr 482 scalar MPI_OFFSET Param 381 I(4) 4 scalar Page 13 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_OFFSET_KIND Param 306 I(4) 4 scalar MPI_OP_NULL Param 180 I(4) 4 scalar MPI_ORDER_C Param 467 I(4) 4 scalar MPI_ORDER_FORTRAN Param 469 I(4) 4 scalar MPI_PACKED Param 282 I(4) 4 scalar MPI_PROC_NULL Param 230 I(4) 4 scalar MPI_PROD Param 146 I(4) 4 scalar MPI_REAL Param 258 I(4) 4 scalar 156,157,158,159,160 MPI_REAL16 Param 298 I(4) 4 scalar MPI_REAL4 Param 294 I(4) 4 scalar MPI_REAL8 Param 296 I(4) 4 scalar MPI_REDUCE Subr 302 302 MPI_REPLACE Param 164 I(4) 4 scalar MPI_REQUEST_NULL Param 184 I(4) 4 scalar MPI_ROOT Param 236 I(4) 4 scalar MPI_SEEK_CUR Param 463 I(4) 4 scalar MPI_SEEK_END Param 465 I(4) 4 scalar MPI_SEEK_SET Param 461 I(4) 4 scalar MPI_SHORT Param 317 I(4) 4 scalar MPI_SHORT_INT Param 347 I(4) 4 scalar MPI_SIGNED_CHAR Param 311 I(4) 4 scalar MPI_SIMILAR Param 136 I(4) 4 scalar MPI_SOURCE Param 9 I(4) 4 scalar MPI_STATUSES_IGNORE Scalar 14 I(4) 4 2 5 COM MPI_STATUS_IGNORE Scalar 13 I(4) 4 1 5 COM MPI_STATUS_SIZE Param 11 I(4) 4 scalar 13,14 MPI_SUBVERSION Param 246 I(4) 4 scalar MPI_SUCCESS Param 18 I(4) 4 scalar MPI_SUM Param 144 I(4) 4 scalar 303 MPI_TAG Param 9 I(4) 4 scalar MPI_TAG_UB Param 190 I(4) 4 scalar MPI_THREAD_FUNNELED Param 437 I(4) 4 scalar MPI_THREAD_MULTIPLE Param 441 I(4) 4 scalar MPI_THREAD_SERIALIZED Param 439 I(4) 4 scalar MPI_THREAD_SINGLE Param 435 I(4) 4 scalar MPI_TYPECLASS_COMPLEX Param 423 I(4) 4 scalar MPI_TYPECLASS_INTEGER Param 421 I(4) 4 scalar MPI_TYPECLASS_REAL Param 419 I(4) 4 scalar MPI_TYPE_DUP_FN Subr 489 scalar MPI_TYPE_NULL_COPY_FN Subr 490 scalar MPI_TYPE_NULL_DELETE_FN Subr 489 scalar MPI_UB Param 278 I(4) 4 scalar MPI_UINT16_T Param 363 I(4) 4 scalar MPI_UINT32_T Param 365 I(4) 4 scalar MPI_UINT64_T Param 367 I(4) 4 scalar MPI_UINT8_T Param 361 I(4) 4 scalar MPI_UNDEFINED Param 224 I(4) 4 scalar MPI_UNEQUAL Param 138 I(4) 4 scalar MPI_UNIVERSE_SIZE Param 198 I(4) 4 scalar MPI_UNSIGNED Param 323 I(4) 4 scalar MPI_UNSIGNED_CHAR Param 313 I(4) 4 scalar MPI_UNSIGNED_LONG Param 327 I(4) 4 scalar MPI_UNSIGNED_LONG_LONG Param 337 I(4) 4 scalar MPI_UNSIGNED_SHORT Param 319 I(4) 4 scalar MPI_UNWEIGHTED Scalar 481 I(4) 4 scalar COM Page 14 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_VERSION Param 244 I(4) 4 scalar MPI_WCHAR Param 315 I(4) 4 scalar MPI_WIN_BASE Param 204 I(4) 4 scalar MPI_WIN_DISP_UNIT Param 208 I(4) 4 scalar MPI_WIN_DUP_FN Subr 487 scalar MPI_WIN_NULL Param 174 I(4) 4 scalar MPI_WIN_NULL_COPY_FN Subr 488 scalar MPI_WIN_NULL_DELETE_FN Subr 487 scalar MPI_WIN_SIZE Param 206 I(4) 4 scalar MPI_WTICK Func 483 R(8) 8 scalar MPI_WTIME Func 483 R(8) 8 scalar 198,298 MPI_WTIME_IS_GLOBAL Param 196 I(4) 4 scalar MSLPSD Local 33 R(4) 4 scalar 103,118,159,277 MYRANK Local 36 I(4) 4 scalar 41,43,47,166,203,204,299,305 N2 Local 49 I(4) 4 scalar 49 ND Local 49 I(4) 4 scalar 49,152,208 ND12 Local 49 I(4) 4 scalar 49 ND9 Local 49 I(4) 4 scalar 49,61,62,150,171,172,208,214,216 NE1 Local 49 I(4) 4 scalar 49,58,116 NE9 Local 50 I(4) 4 scalar 50,55,149,168,185,208 NINT Func 72 scalar 72,73,75,76,78,79 NM1 Local 220 I(4) 4 scalar 220,221,224,226,227 NM2 Local 225 I(4) 4 scalar 225,226,227 NPROCS Local 36 I(4) 4 scalar 40,203 NV Local 49 I(4) 4 scalar 49 NVR Local 49 I(4) 4 scalar 49 NVR12 Local 49 I(4) 4 scalar 49,60,67,116,119,155,169,176,187,2 33,234 OBS Local 22 R(8) 8 3 1 ALC 63,123,124,125,126,127,128,129,130 ,131,167,183,208 PADS_A Scalar 496 CHAR 1 1 3 COM PADS_B Scalar 496 CHAR 1 1 3 COM PI Local 107 R(4) 4 scalar 107,112 PMPI_WTICK Func 484 R(8) 8 scalar PMPI_WTIME Func 484 R(8) 8 scalar PRCPSD Local 33 R(4) 4 scalar 102,118,158,277 RADVR Local 49 R(4) 4 scalar 49,116 RLAT1 Local 48 R(4) 4 scalar 48,75 RLAT2 Local 48 R(4) 4 scalar 48,76 RLON1 Local 48 R(4) 4 scalar 48,72 RLON2 Local 48 R(4) 4 scalar 48,73 SIG Local 27 R(8) 8 2 1 ALC 68,177,195,239,257,265,275,283,287 ,291,302 SIGALL Local 28 R(8) 8 2 1 ALC 69,178,196,302,310,312,313,342 SIGMAX Local 312 R(4) 4 scalar 312,313 SIGMAXI Local 34 R(4) 4 scalar 322,327,328,329,330,331,332,333,33 4,335 SIGMAXJ Local 34 R(4) 4 scalar 323,327,328,329,330,331,332,333,33 4,335 SIGTOP Local 14 R(4) 4 1 1 ALC 54,112,115,136 SISTR Local 13 R(4) 4 1 1 ALC 53,111,112,115,135 SQRT Func 227 scalar 227 SQUARETR2 Subr 208 208 SUMM_ALLNORMS Prog 11 SVPVR Local 26 R(8) 8 2 1 ALC 67,176,234,258,259,260,266,267,268 Page 15 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References ,269,270,276,277 TIME_BEGIN Local 30 R(8) 8 scalar 198,299 TIME_END Local 30 R(8) 8 scalar 298,299 UV850SD Local 33 R(4) 4 scalar 101,118,157,276 UVSD Local 33 R(4) 4 scalar 100,118,156 VRLAT Local 49 R(4) 4 scalar 49,79,82 VRLON Local 49 R(4) 4 scalar 49,78,82 WORK3 Local 29 R(8) 8 2 1 ALC 70,179,216,218 XVVEST Local 15 R(8) 8 2 1 ALC 58,92,115,139 YTVEC Local 19 R(8) 8 2 1 ALC 55,89,168,185,208 YVVEST Local 18 R(8) 8 2 1 ALC 60,115,117,169,187,233 Z500SD Local 33 R(4) 4 scalar 104,118,160 Page 16 Source Listing SUMM_ALLNORMS 2013-05-14 19:53 summ_allnorms.f 862 863 ************************************************************************ 864 ************************************************************************ 865 866 867 ************************************************************************ 868 * ----------------------------------------------------------------- 869 * Noting that keeping a bunch of extra variables around, the time 870 * has come to make matrix transposes a calculates, rather than a 871 * stored quantity. 872 * ----------------------------------------------------------------- 873 ************************************************************************ 874 SUBROUTINE DTRANS(M,N,A,B) 875 ************************************************************************ 876 877 double precision A(m,n) 878 double precision B(n,m) 879 do 1111 i=1,n 880 do 1111 j=1,m 881 1111 B(i,j)=A(j,i) 882 883 return 884 end ENTRY POINTS Name dtrans_ Page 17 Source Listing DTRANS 2013-05-14 19:53 Symbol Table summ_allnorms.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1111 Label 374 372,373 A Dummy 367 R(8) 8 2 0 ARG,INOUT 374 B Dummy 367 R(8) 8 2 0 ARG,INOUT 374 DTRANS Subr 367 I Local 372 I(4) 4 scalar 372,374 J Local 373 I(4) 4 scalar 373,374 M Dummy 367 I(4) 4 scalar ARG,INOUT 370,371,373 N Dummy 367 I(4) 4 scalar ARG,INOUT 370,371,372 Page 18 Source Listing DTRANS 2013-05-14 19:53 summ_allnorms.f 885 886 887 888 889 ************************************************************************ 890 * ----------------------------------------------------------------- 891 * Square target region -- set matrix HY -- NORMAL GRID 892 * ----------------------------------------------------------------- 893 subroutine squareTR2(ir2,jr2,obs,hy,ytvec,idim,jdim,ne9,nd9,mem, 894 & nd) 895 * ----------------------------------------------------------------- 896 ************************************************************************ 897 898 double precision ytvec(ne9,mem),hy(nd9,mem),obs(idim,jdim,9) 899 integer itra(200),jtra(200) 900 901 iwi=(nint(sqrt(nd+0.0))-1)/2 902 903 do 1302 nm=1,mem 904 ie1=0 905 itcount=0 906 do 1102 j=1,jdim 907 do 1002 i=1,idim 908 mmm=9*((j-1)*idim) + 9*(i-1) 909 if(abs(j-jr2).le.(iwi+.1).and.abs(i-ir2).le.(iwi+.1)) then 910 itcount=itcount+1 911 itra(itcount)=i 912 jtra(itcount)=j 913 ie1=ie1+1 914 hy(ie1,nm)=ytvec(mmm+1,nm)/sqrt(obs(i,j,1)) 915 ie1=ie1+1 916 hy(ie1,nm)=ytvec(mmm+2,nm)/sqrt(obs(i,j,2)) 917 ie1=ie1+1 918 hy(ie1,nm)=ytvec(mmm+3,nm)/sqrt(obs(i,j,3)) 919 ie1=ie1+1 920 hy(ie1,nm)=ytvec(mmm+4,nm)/sqrt(obs(i,j,4)) 921 ie1=ie1+1 922 hy(ie1,nm)=ytvec(mmm+5,nm)/sqrt(obs(i,j,5)) 923 ie1=ie1+1 924 hy(ie1,nm)=ytvec(mmm+6,nm)/sqrt(obs(i,j,6)) 925 ie1=ie1+1 926 hy(ie1,nm)=ytvec(mmm+7,nm)/sqrt(obs(i,j,7)) 927 ie1=ie1+1 928 hy(ie1,nm)=ytvec(mmm+8,nm)/sqrt(obs(i,j,8)) 929 ie1=ie1+1 930 hy(ie1,nm)=ytvec(mmm+9,nm)/sqrt(obs(i,j,9)) 931 endif 932 1002 continue 933 1102 continue 934 1302 continue 935 936 34 format (I4,I4,F10.4) 937 938 return 939 end Page 19 Source Listing SQUARETR2 2013-05-14 19:53 Entry Points summ_allnorms.f ENTRY POINTS Name squaretr2_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1002 Label 425 400 1102 Label 426 399 1302 Label 427 396 34 Label 429 ABS Func 402 scalar 402 HY Dummy 386 R(8) 8 2 0 ARG,INOUT 407,409,411,413,415,417,419,421,42 3 I Local 400 I(4) 4 scalar 400,401,402,404,407,409,411,413,41 5,417,419,421,423 IDIM Dummy 386 I(4) 4 scalar ARG,INOUT 391,400,401 IE1 Local 397 I(4) 4 scalar 397,406,407,408,409,410,411,412,41 3,414,415,416,417,418,419,420,421, 422,423 IR2 Dummy 386 I(4) 4 scalar ARG,INOUT 402 ITCOUNT Local 398 I(4) 4 scalar 398,403,404,405 ITRA Local 392 I(4) 4 1 200 404 IWI Local 394 I(4) 4 scalar 394,402 J Local 399 I(4) 4 scalar 399,401,402,405,407,409,411,413,41 5,417,419,421,423 JDIM Dummy 386 I(4) 4 scalar ARG,INOUT 391,399 JR2 Dummy 386 I(4) 4 scalar ARG,INOUT 402 JTRA Local 392 I(4) 4 1 200 405 MEM Dummy 386 I(4) 4 scalar ARG,INOUT 391,396 MMM Local 401 I(4) 4 scalar 401,407,409,411,413,415,417,419,42 1,423 ND Dummy 387 I(4) 4 scalar ARG,INOUT 394 ND9 Dummy 386 I(4) 4 scalar ARG,INOUT 391 NE9 Dummy 386 I(4) 4 scalar ARG,INOUT 391 NINT Func 394 scalar 394 NM Local 396 I(4) 4 scalar 396,407,409,411,413,415,417,419,42 1,423 OBS Dummy 386 R(8) 8 3 0 ARG,INOUT 407,409,411,413,415,417,419,421,42 3 SQRT Func 394 scalar 394,407,409,411,413,415,417,419,42 1,423 SQUARETR2 Subr 386 YTVEC Dummy 386 R(8) 8 2 0 ARG,INOUT 407,409,411,413,415,417,419,421,42 3 Page 20 Source Listing SQUARETR2 2013-05-14 19:53 summ_allnorms.f 940 941 942 943 944 945 946 ************************************************************************ 947 * ----------------------------------------------------------------- 948 * Circular verification region, calculate Y matrix in VR 949 * ----------------------------------------------------------------- 950 subroutine calcvrci(ivr,jvr,sistr,sigtop,cmat,ivm,xvvest,yvvest, 951 &jstr,ne1,mem,nvr12,idim,jdim,radvr,georad) 952 * ----------------------------------------------------------------- 953 ************************************************************************ 954 955 dimension sistr(jstr),sigtop(jstr) 956 integer ivra(500),jvra(500) 957 double precision xvvest(ne1,mem),cmat(mem,mem),yvvest(nvr12,mem) 958 959 pi=acos(-1.0) 960 961 c compute coordinates of the verification area 962 c ============================================ 963 radjvr=float(jvr-1)*pi/72. 964 radivr=float(ivr-1)*2.0*pi/144. 965 zvr=cos(radjvr) 966 xvr=sin(radjvr)*cos(radivr) 967 yvr=sin(radjvr)*sin(radivr) 968 969 c ================================================================ 970 c define distance of grid point from center of verification region 971 c ================================================================ 972 ie2=0 973 c print*, 'j, sistr(j)*180./pi, sigtop(j)*180./pi' 974 do 70 j=1,jstr 975 c print *,j 976 c print*, j, sistr(j)*180./pi, sigtop(j)*180./pi 977 radj=sigtop(j) 978 z=cos(radj) 979 hr=sin(radj) 980 do 60 i=1,idim 981 radi=float(i-1)*2.0*pi/144. 982 x=hr*cos(radi) 983 y=hr*sin(radi) 984 costh=(xvr*x+yvr*y+zvr*z) 985 th=acos(costh) 986 dist=georad*th 987 if (dist.le.radvr) then 988 ie2=ie2+1 989 ivra(ie2)=i 990 jvra(ie2)=j 991 c print*, ie2,float(i-1)*2.5,sistr(j)*180./pi 992 end if 993 60 continue 994 70 continue 995 ivm=ie2 996 c print*, 'ivmemo=',ivm Page 21 Source Listing CALCVRCI 2013-05-14 19:53 summ_allnorms.f 997 998 do 61 ivcount=1,ivm 999 mmm=12*((jvra(ivcount)-1)*idim) + 12*(ivra(ivcount)-1) 1000 do 61 k=1,mem 1001 do 61 ivar=1,12 1002 num=mmm+ivar 1003 iv=(ivcount-1)*12+ivar 1004 yvvest(iv,k)=0.0 1005 do 62 nm2=1,mem 1006 yvvest(iv,k)=yvvest(iv,k)+xvvest(num,nm2)*cmat(nm2,k) 1007 62 continue 1008 61 continue 1009 1010 return 1011 end ENTRY POINTS Name calcvrci_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 60 Label 486 473 61 Label 501 491,493,494 62 Label 500 498 70 Label 487 467 ACOS Func 452 scalar 452,478 CALCVRCI Subr 443 CMAT Dummy 443 R(8) 8 2 0 ARG,INOUT 499 COS Func 458 scalar 458,459,471,475 COSTH Local 477 R(4) 4 scalar 477,478 DIST Local 479 R(4) 4 scalar 479,480 FLOAT Func 456 scalar 456,457,474 GEORAD Dummy 444 R(4) 4 scalar ARG,INOUT 479 HR Local 472 R(4) 4 scalar 472,475,476 I Local 473 I(4) 4 scalar 473,474,482 IDIM Dummy 444 I(4) 4 scalar ARG,INOUT 473,492 IE2 Local 465 I(4) 4 scalar 465,481,482,483,488 IV Local 496 I(4) 4 scalar 496,497,499 IVAR Local 494 I(4) 4 scalar 494,495,496 IVCOUNT Local 491 I(4) 4 scalar 491,492,496 IVM Dummy 443 I(4) 4 scalar ARG,INOUT 488,491 IVR Dummy 443 I(4) 4 scalar ARG,INOUT 457 IVRA Local 449 I(4) 4 1 500 482,492 J Local 467 I(4) 4 scalar 467,470,483 JDIM Dummy 444 I(4) 4 scalar ARG,INOUT JSTR Dummy 444 I(4) 4 scalar ARG,INOUT 448,467 JVR Dummy 443 I(4) 4 scalar ARG,INOUT 456 JVRA Local 449 I(4) 4 1 500 483,492 K Local 493 I(4) 4 scalar 493,497,499 MEM Dummy 444 I(4) 4 scalar ARG,INOUT 450,493,498 Page 22 Source Listing CALCVRCI 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MMM Local 492 I(4) 4 scalar 492,495 NE1 Dummy 444 I(4) 4 scalar ARG,INOUT 450 NM2 Local 498 I(4) 4 scalar 498,499 NUM Local 495 I(4) 4 scalar 495,499 NVR12 Dummy 444 I(4) 4 scalar ARG,INOUT 450 PI Local 452 R(4) 4 scalar 452,456,457,474 RADI Local 474 R(4) 4 scalar 474,475,476 RADIVR Local 457 R(4) 4 scalar 457,459,460 RADJ Local 470 R(4) 4 scalar 470,471,472 RADJVR Local 456 R(4) 4 scalar 456,458,459,460 RADVR Dummy 444 R(4) 4 scalar ARG,INOUT 480 SIGTOP Dummy 443 R(4) 4 1 0 ARG,INOUT 470 SIN Func 459 scalar 459,460,472,476 SISTR Dummy 443 R(4) 4 1 0 ARG,INOUT TH Local 478 R(4) 4 scalar 478,479 X Local 475 R(4) 4 scalar 475,477 XVR Local 459 R(4) 4 scalar 459,477 XVVEST Dummy 443 R(8) 8 2 0 ARG,INOUT 499 Y Local 476 R(4) 4 scalar 476,477 YVR Local 460 R(4) 4 scalar 460,477 YVVEST Dummy 443 R(8) 8 2 0 ARG,INOUT 497,499 Z Local 471 R(4) 4 scalar 471,477 ZVR Local 458 R(4) 4 scalar 458,477 Page 23 Source Listing CALCVRCI 2013-05-14 19:53 summ_allnorms.f 1012 1013 1014 ************************************************************************ 1015 * ----------------------------------------------------------------- 1016 * Calculate forecast error variance for routine obs. network 1017 * ----------------------------------------------------------------- 1018 subroutine calc_fev_routine(ivm,yvvest,fev_routine, 1019 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 1020 & nvr12,mem,ivnorm) 1021 * ----------------------------------------------------------------- 1022 ************************************************************************ 1023 1024 integer ivm 1025 double precision yvvest(nvr12,mem),fev_routine 1026 1027 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 1028 1029 fev_routine=0.0 1030 do 161 ivcount=1,ivm 1031 do 161 k=1,mem 1032 iu850=(ivcount-1)*12 + 1 1033 iv850=(ivcount-1)*12 + 2 1034 iu500=(ivcount-1)*12 + 3 1035 iv500=(ivcount-1)*12 + 4 1036 iu200=(ivcount-1)*12 + 5 1037 iv200=(ivcount-1)*12 + 6 1038 it850=(ivcount-1)*12 + 7 1039 it500=(ivcount-1)*12 + 8 1040 it200=(ivcount-1)*12 + 9 1041 iprcp=(ivcount-1)*12 + 10 1042 imslp=(ivcount-1)*12 + 11 1043 iz500=(ivcount-1)*12 + 12 1044 1045 * ****** (u,v) verifying norm ****** 1046 if (ivnorm.eq.1) then 1047 fev_routine = fev_routine + 1048 & yvvest(iu850,k)**2 + yvvest(iv850,k)**2 + 1049 & yvvest(iu500,k)**2 + yvvest(iv500,k)**2 + 1050 & yvvest(iu200,k)**2 + yvvest(iv200,k)**2 1051 endif 1052 1053 * ****** Total energy verifying norm ****** 1054 if (ivnorm.eq.2) then 1055 fev_routine = fev_routine + 1056 & 0.5*( yvvest(iu850,k)**2 + yvvest(iv850,k)**2 + 1057 & yvvest(iu500,k)**2 + yvvest(iv500,k)**2 + 1058 & yvvest(iu200,k)**2 + yvvest(iv200,k)**2 ) + 1059 & 3.346*( yvvest(it850,k)**2 + yvvest(it500,k)**2 + 1060 & yvvest(it200,k)**2 ) 1061 endif 1062 1063 * ****** (u850,v850,precip,mslp) verifying norm ****** 1064 if (ivnorm.eq.3) then 1065 fev_routine = fev_routine + 1066 & (yvvest(iu850,k)**2 + yvvest(iv850,k)**2)/uv850sd**2 + 1067 & (yvvest(iprcp,k)/prcpsd)**2 + (yvvest(imslp,k)/mslpsd)**2 1068 endif Page 24 Source Listing CALC_FEV_ROUTINE 2013-05-14 19:53 summ_allnorms.f 1069 1070 161 continue 1071 1072 if (ivnorm.eq.1) then 1073 fev_routine = fev_routine/(mem*ivm*3.0) 1074 endif 1075 1076 if (ivnorm.eq.2) then 1077 fev_routine = fev_routine/(mem*ivm*3.0) 1078 endif 1079 1080 if (ivnorm.eq.3) then 1081 fev_routine = fev_routine/(mem*ivm) 1082 endif 1083 1084 return 1085 end ENTRY POINTS Name calc_fev_routine_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 161 Label 563 523,524 CALC_FEV_ROUTINE Subr 511 FEV_ROUTINE Dummy 511 R(8) 8 scalar ARG,INOUT 522,540,548,558,566,570,574 IMSLP Local 535 I(4) 4 scalar 535,560 IPRCP Local 534 I(4) 4 scalar 534,560 IT200 Local 533 I(4) 4 scalar 533,553 IT500 Local 532 I(4) 4 scalar 532,552 IT850 Local 531 I(4) 4 scalar 531,552 IU200 Local 529 I(4) 4 scalar 529,543,551 IU500 Local 527 I(4) 4 scalar 527,542,550 IU850 Local 525 I(4) 4 scalar 525,541,549,559 IV200 Local 530 I(4) 4 scalar 530,543,551 IV500 Local 528 I(4) 4 scalar 528,542,550 IV850 Local 526 I(4) 4 scalar 526,541,549,559 IVCOUNT Local 523 I(4) 4 scalar 523,525,526,527,528,529,530,531,53 2,533,534,535,536 IVM Dummy 511 I(4) 4 scalar ARG,INOUT 523,566,570,574 IVNORM Dummy 513 I(4) 4 scalar ARG,INOUT 539,547,557,565,569,573 IZ500 Local 536 I(4) 4 scalar 536 K Local 524 I(4) 4 scalar 524,541,542,543,549,550,551,552,55 3,559,560 MEM Dummy 513 I(4) 4 scalar ARG,INOUT 518,524,566,570,574 MSLPSD Dummy 512 R(4) 4 scalar ARG,INOUT 560 NVR12 Dummy 513 I(4) 4 scalar ARG,INOUT 518 PRCPSD Dummy 512 R(4) 4 scalar ARG,INOUT 560 UV850SD Dummy 512 R(4) 4 scalar ARG,INOUT 559 UVSD Dummy 512 R(4) 4 scalar ARG,INOUT Page 25 Source Listing CALC_FEV_ROUTINE 2013-05-14 19:53 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References YVVEST Dummy 511 R(8) 8 2 0 ARG,INOUT 541,542,543,549,550,551,552,553,55 9,560 Z500SD Dummy 512 R(4) 4 scalar ARG,INOUT Page 26 Source Listing CALC_FEV_ROUTINE 2013-05-14 19:53 Subprograms/Common Blocks summ_allnorms.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALCVRCI Subr 443 CALC_FEV_ROUTINE Subr 511 DTRANS Subr 367 MPIFCMB1 Common 497 20 MPIFCMB2 Common 498 20 MPIFCMB3 Common 499 4 MPIFCMB4 Common 500 4 MPIFCMB5 Common 501 4 MPIFCMB6 Common 502 4 MPIFCMB7 Common 503 4 MPIFCMB8 Common 504 4 SQUARETR2 Subr 386 SUMM_ALLNORMS Prog 11 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ Page 27 Source Listing CALC_FEV_ROUTINE 2013-05-14 19:53 summ_allnorms.f -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /usrx/local/intel/composerxe/mkl/include/,/usr/local/include/,.for,./.for,/opt/ibmhpc/pecurrent/mpich2/intel/include64/.for, /opt/ibmhpc/pecurrent/base/include64/.for,/usrx/local/intel/composerxe/mkl/include/intel64/lp64/.for,/usrx/local/intel/composerxe/mkl/include/.for, /usrx/local/intel/composerxe/mkl/include/.for,/usrx/local/intel/composerxe/tbb/include/.for,/gpfs/gp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.for, /gpfs/gp2/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.for,/usr/local/include/.for,/usr/lib/gcc/x86_64-redhat-linux/4.4.6/include/.for, /usr/include/.for,/usr/include/.for -list filename : summ_allnorms.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100