Page 1 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 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' 574 allocatable sistr(:) 575 allocatable sigtop(:) 576 double precision,allocatable::xvvest(:,:) 577 double precision,allocatable::cmat(:,:) 578 double precision,allocatable::ceval(:) 579 double precision,allocatable::yvvest(:,:) 580 double precision,allocatable::ytvec(:,:) 581 double precision,allocatable::hy(:,:) 582 double precision,allocatable::hyt(:,:) 583 double precision,allocatable::obs(:,:,:) 584 double precision,allocatable::bsig(:,:) 585 double precision,allocatable::betasig(:) 586 double precision,allocatable::bsig2(:,:) 587 double precision,allocatable::svpvr(:,:) 588 double precision,allocatable::sig(:,:) 589 double precision,allocatable::sigall(:,:) 590 double precision,allocatable::work3(:,:) 591 double precision :: time_begin, time_end 592 593 double precision :: fev_routine 594 real :: uvsd,uv850sd,prcpsd,mslpsd,z500sd 595 real :: sigmaxi,sigmaxj 596 597 integer :: ierr, myrank, nprocs 598 integer, parameter :: MASTER=0 599 600 call MPI_INIT(ierr) 601 call MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) 602 call MPI_COMM_RANK(MPI_COMM_WORLD, myrank, ierr) 603 604 print*, 'myrank=', myrank 605 606 c eg. read in 144 37 37 177 80 300 80 0 135.0 35.0 607 608 if (myrank .eq. MASTER) then 609 read(5,*)idim,jdim,jstr,mem,rlon1,rlon2,rlat1,rlat2, 610 &vrlon,vrlat,radvr,nd,nd9,nd12,georad,ne1,n2,nvr,nvr12,nv, 611 &ne9,ltcode,casecode,ivnorm 612 close(5) 613 614 allocate(sistr(jstr)) 615 allocate(sigtop(jstr)) 616 allocate(ytvec(ne9,mem)) 617 allocate(ceval(mem)) 618 allocate(cmat(mem,mem)) Page 2 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 619 allocate(xvvest(ne1,mem)) 620 621 allocate(yvvest(nvr12,mem)) 622 allocate(hy(nd9,mem)) 623 allocate(hyt(mem,nd9)) 624 allocate(obs(idim,jdim,9)) 625 allocate(bsig(mem,mem)) 626 allocate(betasig(mem)) 627 allocate(bsig2(mem,mem)) 628 allocate(svpvr(nvr12,mem)) 629 allocate(sig(idim,jdim)) 630 allocate(sigall(idim,jdim)) 631 allocate(work3(mem,mem)) 632 633 idim11=nint(rlon1/2.5)+1 634 idim12=nint(rlon2/2.5)+1 635 if (idim11.gt.idim12) idim12=idim12+idim 636 jdim11=nint((90.-rlat1)/2.5)+1 637 jdim12=nint((90.-rlat2)/2.5)+1 638 639 ivr=nint(vrlon/2.5)+1 640 jvr=nint((90.-vrlat)/2.5)+1 641 642 open(16,form='formatted') 643 write(16,*) ivr, jvr, vrlon, vrlat 644 close(16) 645 646 knum1=ltcode+8200 647 knum2=ltcode+8300 648 knum3=ltcode+8400 649 knum5=casecode+8600 650 read(knum1) ytvec 651 read(knum2) ceval 652 read(knum3) cmat 653 read(knum5) xvvest 654 close(knum1) 655 close(knum2) 656 close(knum3) 657 close(knum5) 658 659 knum0=1234 660 open(knum0,form='formatted') 661 read(knum0,*) uvsd 662 read(knum0,*) uv850sd 663 read(knum0,*) prcpsd 664 read(knum0,*) mslpsd 665 read(knum0,*) z500sd 666 close(knum0) 667 668 pi=acos(-1.0) 669 dpsieq=1./36. 670 do j=1,jstr 671 jeq=37-j 672 sistr(j)=asin(jeq*dpsieq) 673 sigtop(j)=(pi/2.)-sistr(j) 674 end do 675 Page 3 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 676 call calcvrci(ivr,jvr,sistr,sigtop,cmat,ivm,xvvest,yvvest, 677 &jstr,ne1,mem,nvr12,idim,jdim,radvr,georad) 678 call calc_fev_routine(ivm,yvvest,fev_routine, 679 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 680 & nvr12,mem,ivnorm) 681 682 do 125 i=1,idim 683 do 125 j=1,jdim 684 obs(i,j,1)=2.4**2 685 obs(i,j,2)=2.8**2 686 obs(i,j,3)=2.95**2 687 obs(i,j,4)=2.4**2 688 obs(i,j,5)=2.8**2 689 obs(i,j,6)=2.95**2 690 obs(i,j,7)=0.8**2 691 obs(i,j,8)=0.8**2 692 obs(i,j,9)=1.2**2 693 125 continue 694 695 696 deallocate(sistr) 697 deallocate(sigtop) 698 deallocate(ceval) 699 deallocate(cmat) 700 deallocate(xvvest) 701 702 endif 703 704 CALL MPI_BCAST(idim,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 705 CALL MPI_BCAST(jdim,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 706 CALL MPI_BCAST(idim11,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 707 CALL MPI_BCAST(idim12,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 708 CALL MPI_BCAST(jdim11,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 709 CALL MPI_BCAST(jdim12,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 710 CALL MPI_BCAST(ne9,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 711 CALL MPI_BCAST(nd9,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 712 CALL MPI_BCAST(mem,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 713 CALL MPI_BCAST(nd,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 714 CALL MPI_BCAST(ivnorm,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 715 CALL MPI_BCAST(ivm,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 716 CALL MPI_BCAST(nvr12,1,MPI_INTEGER,MASTER,MPI_COMM_WORLD,ierr) 717 CALL MPI_BCAST(uvsd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 718 CALL MPI_BCAST(uv850sd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 719 CALL MPI_BCAST(prcpsd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 720 CALL MPI_BCAST(mslpsd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 721 CALL MPI_BCAST(z500sd,1,MPI_REAL,MASTER,MPI_COMM_WORLD,ierr) 722 CALL MPI_BCAST(fev_routine,1,MPI_DOUBlE_PRECISION,MASTER, 723 & MPI_COMM_WORLD,ierr) 724 725 CALL MPI_BARRIER(MPI_COMM_WORLD, ierr) 726 727 if (myrank .ne. MASTER) then 728 allocate(obs(idim,jdim,9)) 729 allocate(ytvec(ne9,mem)) 730 allocate(yvvest(nvr12,mem)) 731 732 allocate(hy(nd9,mem)) Page 4 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 733 allocate(hyt(mem,nd9)) 734 allocate(bsig(mem,mem)) 735 allocate(betasig(mem)) 736 allocate(bsig2(mem,mem)) 737 allocate(svpvr(nvr12,mem)) 738 allocate(sig(idim,jdim)) 739 allocate(sigall(idim,jdim)) 740 allocate(work3(mem,mem)) 741 endif 742 743 744 CALL MPI_BCAST(obs,idim*jdim*9,MPI_DOUBlE_PRECISION,MASTER, 745 & MPI_COMM_WORLD,ierr) 746 CALL MPI_BCAST(ytvec,ne9*mem,MPI_DOUBlE_PRECISION,MASTER, 747 & MPI_COMM_WORLD,ierr) 748 CALL MPI_BCAST(yvvest,nvr12*mem,MPI_DOUBlE_PRECISION,MASTER, 749 & MPI_COMM_WORLD,ierr) 750 751 CALL MPI_BARRIER(MPI_COMM_WORLD, ierr) 752 753 * -------------------------------------------------------- 754 * START INTRODUCING DIFFERENT SETS OF OBSERVATIONS 755 * -------------------------------------------------------- 756 sig=0.0 757 sigall=0.0 758 759 time_begin = MPI_Wtime() 760 761 c do 10101 jr2=jdim11+myrank*2,jdim12,2*nprocs 762 c do 10102 ir2=idim11,idim12,2 763 764 do 10101 ir2=idim11+myrank*2,idim12,2*nprocs 765 print*, "ir2=",ir2, " myrank=",myrank 766 do 10102 jr2=jdim11,jdim12,2 767 768 HY=0.0 769 call squareTR2(ir2,jr2,obs,hy,ytvec,idim,jdim,ne9,nd9,mem,nd) 770 771 * ------------------------------------------------------------- 772 * Time to calculate the MEM eigenvalues [BETA_sigma] and 773 * eigenvectors [B_sigma] of Hstar*P*Hstar(T) 774 * ------------------------------------------------------------- 775 CALL DTRANS(nd9,MEM,HY,HYT) 776 777 CALL DMRRRR(MEM,nd9,HYT,MEM,nd9,MEM,HY,nd9,MEM,MEM,WORK3,MEM) 778 779 CALL DEVCSF(MEM,WORK3,MEM,BETASIG,BSIG,MEM) 780 781 do 1231 nm1=1,mem 782 if (BETASIG(nm1).le.1.0e-12) BETASIG(nm1)=1.0e-15 783 1231 continue 784 785 do 123 nm1=1,mem 786 do 123 nm2=1,mem 787 BSIG2(nm1,nm2)= 788 & BSIG(nm1,nm2)*sqrt(BETASIG(nm2)/(1.+BETASIG(nm2))) 789 123 continue Page 5 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 790 791 * ---------------------------------------------------------------- 792 * Calculate signal variance as function of target region 793 * ---------------------------------------------------------------- 794 CALL DMRRRR(nvr12,MEM,yvvest,nvr12,MEM,MEM,BSIG2,MEM, 795 & nvr12,MEM,svpvr,nvr12) 796 797 * ---------------------------------------------------------------- 798 * HERE IS WHERE WE DEFINE THE NORM !! 799 * ---------------------------------------------------------------- 800 sig(ir2,jr2)=0.0 801 do 61 ivcount=1,ivm 802 do 61 k=1,mem 803 iu850=(ivcount-1)*12 + 1 804 iv850=(ivcount-1)*12 + 2 805 iu500=(ivcount-1)*12 + 3 806 iv500=(ivcount-1)*12 + 4 807 iu200=(ivcount-1)*12 + 5 808 iv200=(ivcount-1)*12 + 6 809 it850=(ivcount-1)*12 + 7 810 it500=(ivcount-1)*12 + 8 811 it200=(ivcount-1)*12 + 9 812 iprcp=(ivcount-1)*12 + 10 813 imslp=(ivcount-1)*12 + 11 814 iz500=(ivcount-1)*12 + 12 815 816 * ****** (u,v) verifying norm ****** 817 if (ivnorm.eq.1) then 818 sig(ir2,jr2)=sig(ir2,jr2) + 819 & svpvr(iu850,k)**2 + svpvr(iv850,k)**2 + 820 & svpvr(iu500,k)**2 + svpvr(iv500,k)**2 + 821 & svpvr(iu200,k)**2 + svpvr(iv200,k)**2 822 endif 823 824 * ****** Total energy verifying norm ****** 825 if (ivnorm.eq.2) then 826 sig(ir2,jr2)=sig(ir2,jr2) + 827 & 0.5*( svpvr(iu850,k)**2 + svpvr(iv850,k)**2 + 828 & svpvr(iu500,k)**2 + svpvr(iv500,k)**2 + 829 & svpvr(iu200,k)**2 + svpvr(iv200,k)**2 ) + 830 & 3.346*( svpvr(it850,k)**2 + svpvr(it500,k)**2 + 831 & svpvr(it200,k)**2 ) 832 endif 833 834 * ****** (u850,v850,precip,mslp) verifying norm ****** 835 if (ivnorm.eq.3) then 836 sig(ir2,jr2)=sig(ir2,jr2) + 837 & (svpvr(iu850,k)**2 + svpvr(iv850,k)**2)/uv850sd**2 + 838 & (svpvr(iprcp,k)/prcpsd)**2 + (svpvr(imslp,k)/mslpsd)**2 839 endif 840 841 61 continue 842 843 if (ivnorm.eq.1) then 844 sig(ir2,jr2)=sig(ir2,jr2)/(mem*ivm*3.0) 845 endif 846 Page 6 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 847 if (ivnorm.eq.2) then 848 sig(ir2,jr2)=sig(ir2,jr2)/(mem*ivm*3.0) 849 endif 850 851 if (ivnorm.eq.3) then 852 sig(ir2,jr2)=sig(ir2,jr2)/(mem*ivm) 853 endif 854 855 856 10102 continue 857 10101 continue 858 859 time_end = MPI_Wtime() 860 print*,time_end-time_begin,' seconds', 'rank=', myrank 861 862 C CALL MPI_GATHER( 863 CALL MPI_REDUCE(sig,sigall,idim*jdim,MPI_DOUBLE_PRECISION, 864 & MPI_SUM,MASTER,MPI_COMM_WORLD,ierr) 865 866 if (myrank .eq. MASTER) then 867 868 do 10104 jr2=jdim11,jdim12,2 869 do 10105 ir2=idim11,idim12,2 870 871 write(6,99) 'Signal variance(',ir2,',',jr2,')=',sigall(ir2,jr2), 872 & ' fcst.err.var of routine network=',fev_routine 873 if (sigall(ir2,jr2).gt.sigmax) then 874 sigmax=sigall(ir2,jr2) 875 imx=ir2 876 jmx=jr2 877 endif 878 879 10105 continue 880 10104 continue 881 882 C sigmaxi=((imx-1)*2.5)-360. 883 sigmaxi=((imx-1)*2.5) 884 sigmaxj=90.-((jmx-1)*2.5) 885 886 open(301,form='formatted') 887 write(301,*) 9 888 write(301,667) sigmaxi,sigmaxj 889 write(301,667) (sigmaxi+5.0),(sigmaxj+5.0) 890 write(301,667) (sigmaxi+5.0),(sigmaxj) 891 write(301,667) (sigmaxi+5.0),(sigmaxj-5.0) 892 write(301,667) (sigmaxi-5.0),(sigmaxj+5.0) 893 write(301,667) (sigmaxi-5.0),(sigmaxj) 894 write(301,667) (sigmaxi-5.0),(sigmaxj-5.0) 895 write(301,667) (sigmaxi),(sigmaxj+5.0) 896 write(301,667) (sigmaxi),(sigmaxj-5.0) 897 close(301) 898 667 format (F9.3,F9.3) 899 900 open(10,form='formatted') 901 do 601 j=jdim11,jdim12,2 902 do 601 i=idim11,idim12,2 903 write(10,666)i,j,sigall(i,j) Page 7 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 904 601 continue 905 close(10) 906 907 99 format (A16,I3,A1,I2,A2,F7.2,A35,F7.2) 908 666 format(2i5,f12.3) 909 910 endif 911 912 call MPI_FINALIZE(ierr) 913 914 STOP 915 END ENTRY POINTS Name MAIN__ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 10101 Label 857 764 10102 Label 856 766 10104 Label 880 868 10105 Label 879 869 123 Label 789 785,786 1231 Label 783 781 125 Label 693 682,683 601 Label 904 901,902 61 Label 841 801,802 666 Label 908 903 667 Label 898 888,889,890,891,892,893,894,895,89 6 99 Label 907 871 ACOS Func 668 scalar 668 ASIN Func 672 scalar 672 BETASIG Local 585 R(8) 8 1 1 ALC 626,735,779,782,788 BSIG Local 584 R(8) 8 2 1 ALC 625,734,779,788 BSIG2 Local 586 R(8) 8 2 1 ALC 627,736,787,794 CALCVRCI Subr 676 676 CALC_FEV_ROUTINE Subr 678 678 CASECODE Local 611 R(4) 4 scalar 611,649 CEVAL Local 578 R(8) 8 1 1 ALC 617,651,698 CMAT Local 577 R(8) 8 2 1 ALC 618,652,676,699 DEVCSF Subr 779 779 DMRRRR Subr 777 777,794 DPSIEQ Local 669 R(4) 4 scalar 669,672 DTRANS Subr 775 775 FEV_ROUTINE Local 593 R(8) 8 scalar 678,722,872 GEORAD Local 610 R(4) 4 scalar 610,677 HY Local 581 R(8) 8 2 1 ALC 622,732,768,769,775,777 HYT Local 582 R(8) 8 2 1 ALC 623,733,775,777 I Local 682 I(4) 4 scalar 682,684,685,686,687,688,689,690,69 Page 8 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References 1,692,902,903 IDIM Local 609 I(4) 4 scalar 609,624,629,630,635,677,682,704,72 8,738,739,744,769,863 IDIM11 Local 633 I(4) 4 scalar 633,635,706,764,869,902 IDIM12 Local 634 I(4) 4 scalar 634,635,707,764,869,902 IERR Local 597 I(4) 4 scalar 600,601,602,704,705,706,707,708,70 9,710,711,712,713,714,715,716,717, 718,719,720,721,723,725,745,747,74 9,751,864,912 IMSLP Local 813 I(4) 4 scalar 813,838 IMX Local 875 I(4) 4 scalar 875,883 IPRCP Local 812 I(4) 4 scalar 812,838 IR2 Local 764 I(4) 4 scalar 764,765,769,800,818,826,836,844,84 8,852,869,871,873,874,875 IT200 Local 811 I(4) 4 scalar 811,831 IT500 Local 810 I(4) 4 scalar 810,830 IT850 Local 809 I(4) 4 scalar 809,830 IU200 Local 807 I(4) 4 scalar 807,821,829 IU500 Local 805 I(4) 4 scalar 805,820,828 IU850 Local 803 I(4) 4 scalar 803,819,827,837 IV200 Local 808 I(4) 4 scalar 808,821,829 IV500 Local 806 I(4) 4 scalar 806,820,828 IV850 Local 804 I(4) 4 scalar 804,819,827,837 IVCOUNT Local 801 I(4) 4 scalar 801,803,804,805,806,807,808,809,81 0,811,812,813,814 IVM Local 676 I(4) 4 scalar 676,678,715,801,844,848,852 IVNORM Local 611 I(4) 4 scalar 611,680,714,817,825,835,843,847,85 1 IVR Local 639 I(4) 4 scalar 639,643,676 IZ500 Local 814 I(4) 4 scalar 814 J Local 670 I(4) 4 scalar 670,671,672,673,683,684,685,686,68 7,688,689,690,691,692,901,903 JDIM Local 609 I(4) 4 scalar 609,624,629,630,677,683,705,728,73 8,739,744,769,863 JDIM11 Local 636 I(4) 4 scalar 636,708,766,868,901 JDIM12 Local 637 I(4) 4 scalar 637,709,766,868,901 JEQ Local 671 I(4) 4 scalar 671,672 JMX Local 876 I(4) 4 scalar 876,884 JR2 Local 766 I(4) 4 scalar 766,769,800,818,826,836,844,848,85 2,868,871,873,874,876 JSTR Local 609 I(4) 4 scalar 609,614,615,670,677 JVR Local 640 I(4) 4 scalar 640,643,676 K Local 802 I(4) 4 scalar 802,819,820,821,827,828,829,830,83 1,837,838 KNUM0 Local 659 I(4) 4 scalar 659,660,661,662,663,664,665,666 KNUM1 Local 646 I(4) 4 scalar 646,650,654 KNUM2 Local 647 I(4) 4 scalar 647,651,655 KNUM3 Local 648 I(4) 4 scalar 648,652,656 KNUM5 Local 649 I(4) 4 scalar 649,653,657 LTCODE Local 611 I(4) 4 scalar 611,646,647,648 MASTER Param 598 I(4) 4 scalar 608,704,705,706,707,708,709,710,71 1,712,713,714,715,716,717,718,719, 720,721,722,727,744,746,748,864,86 6 MEM Local 609 I(4) 4 scalar 609,616,617,618,619,621,622,623,62 Page 9 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References 5,626,627,628,631,677,680,712,729, 730,732,733,734,735,736,737,740,74 6,748,769,775,777,779,781,785,786, 794,795,802,844,848,852 MPIFCMB5 Common 562 4 SAVE MPIFCMB9 Common 563 4 SAVE MPIPRIV1 Common 567 28 SAVE MPIPRIV2 Common 569 24 SAVE MPIPRIVC Common 572 2 SAVE MPI_2DOUBLE_PRECISION Param 308 I(4) 4 scalar MPI_2INT Param 392 I(4) 4 scalar MPI_2INTEGER Param 306 I(4) 4 scalar MPI_2REAL Param 310 I(4) 4 scalar MPI_ADDRESS_KIND Param 344 I(4) 4 scalar MPI_AINT Param 422 I(4) 4 scalar MPI_ANY_SOURCE Param 274 I(4) 4 scalar MPI_ANY_TAG Param 276 I(4) 4 scalar MPI_APPNUM Param 238 I(4) 4 scalar MPI_ASYNC_PROTECTS_NONBLOC KING Param 544 L(4) 4 scalar MPI_BAND Param 182 I(4) 4 scalar MPI_BARRIER Subr 725 725,751 MPI_BCAST Subr 704 704,705,706,707,708,709,710,711,71 2,713,714,715,716,717,718,719,720, 721,722,744,746,748 MPI_BOR Param 186 I(4) 4 scalar MPI_BSEND_OVERHEAD Param 270 I(4) 4 scalar MPI_BXOR Param 190 I(4) 4 scalar MPI_BYTE Param 314 I(4) 4 scalar MPI_CART Param 282 I(4) 4 scalar MPI_CHAR Param 352 I(4) 4 scalar MPI_CHARACTER Param 312 I(4) 4 scalar MPI_COMBINER_CONTIGUOUS Param 440 I(4) 4 scalar MPI_COMBINER_DARRAY Param 462 I(4) 4 scalar MPI_COMBINER_DUP Param 438 I(4) 4 scalar MPI_COMBINER_F90_COMPLEX Param 466 I(4) 4 scalar MPI_COMBINER_F90_INTEGER Param 468 I(4) 4 scalar MPI_COMBINER_F90_REAL Param 464 I(4) 4 scalar MPI_COMBINER_HINDEXED Param 452 I(4) 4 scalar MPI_COMBINER_HINDEXED_BLOC K Param 472 I(4) 4 scalar MPI_COMBINER_HINDEXED_INTE GER Param 450 I(4) 4 scalar MPI_COMBINER_HVECTOR Param 446 I(4) 4 scalar MPI_COMBINER_HVECTOR_INTEG ER Param 444 I(4) 4 scalar MPI_COMBINER_INDEXED Param 448 I(4) 4 scalar MPI_COMBINER_INDEXED_BLOCK Param 454 I(4) 4 scalar MPI_COMBINER_NAMED Param 436 I(4) 4 scalar MPI_COMBINER_RESIZED Param 470 I(4) 4 scalar MPI_COMBINER_STRUCT Param 458 I(4) 4 scalar MPI_COMBINER_STRUCT_INTEGE R Param 456 I(4) 4 scalar MPI_COMBINER_SUBARRAY Param 460 I(4) 4 scalar MPI_COMBINER_VECTOR Param 442 I(4) 4 scalar Page 10 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_COMM_DUP_FN Subr 551 scalar MPI_COMM_NULL Param 206 I(4) 4 scalar MPI_COMM_NULL_COPY_FN Subr 552 scalar MPI_COMM_NULL_DELETE_FN Subr 551 scalar MPI_COMM_RANK Subr 602 602 MPI_COMM_SELF Param 202 I(4) 4 scalar MPI_COMM_SIZE Subr 601 601 MPI_COMM_TYPE_SHARED Param 490 I(4) 4 scalar MPI_COMM_WORLD Param 200 I(4) 4 scalar 601,602,704,705,706,707,708,709,71 0,711,712,713,714,715,716,717,718, 719,720,721,723,725,745,747,749,75 1,864 MPI_COMPLEX Param 294 I(4) 4 scalar MPI_COMPLEX16 Param 340 I(4) 4 scalar MPI_COMPLEX32 Param 342 I(4) 4 scalar MPI_COMPLEX8 Param 338 I(4) 4 scalar MPI_CONGRUENT Param 154 I(4) 4 scalar MPI_CONVERSION_FN_NULL Subr 557 scalar MPI_COUNT Param 426 I(4) 4 scalar MPI_COUNT_KIND Param 348 I(4) 4 scalar MPI_CXX_BOOL Param 428 I(4) 4 scalar MPI_CXX_DOUBLE_COMPLEX Param 432 I(4) 4 scalar MPI_CXX_FLOAT_COMPLEX Param 430 I(4) 4 scalar MPI_CXX_LONG_DOUBLE_COMPLE X Param 434 I(4) 4 scalar MPI_C_BOOL Param 412 I(4) 4 scalar MPI_C_COMPLEX Param 416 I(4) 4 scalar MPI_C_DOUBLE_COMPLEX Param 418 I(4) 4 scalar MPI_C_FLOAT_COMPLEX Param 414 I(4) 4 scalar MPI_C_LONG_DOUBLE_COMPLEX Param 420 I(4) 4 scalar MPI_DATATYPE_NULL Param 216 I(4) 4 scalar 331,429,431,433,435 MPI_DISPLACEMENT_CURRENT Param 540 I(8) 8 scalar MPI_DISTRIBUTE_BLOCK Param 532 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 534 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 538 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 536 I(4) 4 scalar MPI_DIST_GRAPH Param 284 I(4) 4 scalar MPI_DOUBLE Param 374 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 296 I(4) 4 scalar MPI_DOUBLE_INT Param 386 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 302 I(4) 4 scalar 722,744,746,748,863 MPI_DUP_FN Subr 548 scalar MPI_ERRHANDLER_NULL Param 220 I(4) 4 scalar MPI_ERROR Param 21 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 148 I(4) 4 scalar MPI_ERRORS_RETURN Param 150 I(4) 4 scalar MPI_ERR_ACCESS Param 134 I(4) 4 scalar MPI_ERR_AMODE Param 100 I(4) 4 scalar MPI_ERR_ARG Param 110 I(4) 4 scalar MPI_ERR_ASSERT Param 44 I(4) 4 scalar MPI_ERR_BAD_FILE Param 106 I(4) 4 scalar MPI_ERR_BASE Param 144 I(4) 4 scalar MPI_ERR_BUFFER Param 62 I(4) 4 scalar MPI_ERR_COMM Param 142 I(4) 4 scalar MPI_ERR_CONVERSION Param 124 I(4) 4 scalar Page 11 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_COUNT Param 54 I(4) 4 scalar MPI_ERR_DIMS Param 32 I(4) 4 scalar MPI_ERR_DISP Param 90 I(4) 4 scalar MPI_ERR_DUP_DATAREP Param 120 I(4) 4 scalar MPI_ERR_FILE Param 80 I(4) 4 scalar MPI_ERR_FILE_EXISTS Param 132 I(4) 4 scalar MPI_ERR_FILE_IN_USE Param 126 I(4) 4 scalar MPI_ERR_GROUP Param 42 I(4) 4 scalar MPI_ERR_INFO Param 48 I(4) 4 scalar MPI_ERR_INFO_KEY Param 78 I(4) 4 scalar MPI_ERR_INFO_NOKEY Param 122 I(4) 4 scalar MPI_ERR_INFO_VALUE Param 70 I(4) 4 scalar MPI_ERR_INTERN Param 98 I(4) 4 scalar MPI_ERR_IN_STATUS Param 72 I(4) 4 scalar MPI_ERR_IO Param 58 I(4) 4 scalar MPI_ERR_KEYVAL Param 102 I(4) 4 scalar MPI_ERR_LASTCODE Param 138 I(4) 4 scalar MPI_ERR_LOCKTYPE Param 118 I(4) 4 scalar MPI_ERR_NAME Param 38 I(4) 4 scalar MPI_ERR_NOT_SAME Param 56 I(4) 4 scalar MPI_ERR_NO_MEM Param 68 I(4) 4 scalar MPI_ERR_NO_SPACE Param 60 I(4) 4 scalar MPI_ERR_NO_SUCH_FILE Param 130 I(4) 4 scalar MPI_ERR_OP Param 34 I(4) 4 scalar MPI_ERR_OTHER Param 86 I(4) 4 scalar MPI_ERR_PENDING Param 74 I(4) 4 scalar MPI_ERR_PORT Param 64 I(4) 4 scalar MPI_ERR_QUOTA Param 36 I(4) 4 scalar MPI_ERR_RANK Param 140 I(4) 4 scalar MPI_ERR_READ_ONLY Param 82 I(4) 4 scalar MPI_ERR_REQUEST Param 84 I(4) 4 scalar MPI_ERR_RMA_ATTACH Param 66 I(4) 4 scalar MPI_ERR_RMA_CONFLICT Param 52 I(4) 4 scalar MPI_ERR_RMA_FLAVOR Param 40 I(4) 4 scalar MPI_ERR_RMA_RANGE Param 76 I(4) 4 scalar MPI_ERR_RMA_SHARED Param 136 I(4) 4 scalar MPI_ERR_RMA_SYNC Param 116 I(4) 4 scalar MPI_ERR_ROOT Param 104 I(4) 4 scalar MPI_ERR_SERVICE Param 128 I(4) 4 scalar MPI_ERR_SIZE Param 50 I(4) 4 scalar MPI_ERR_SPAWN Param 92 I(4) 4 scalar MPI_ERR_TAG Param 112 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 114 I(4) 4 scalar MPI_ERR_TRUNCATE Param 88 I(4) 4 scalar MPI_ERR_TYPE Param 108 I(4) 4 scalar MPI_ERR_UNKNOWN Param 96 I(4) 4 scalar MPI_ERR_UNSUPPORTED_DATARE P Param 46 I(4) 4 scalar MPI_ERR_UNSUPPORTED_OPERAT ION Param 94 I(4) 4 scalar MPI_ERR_WIN Param 146 I(4) 4 scalar MPI_FILE_NULL Param 210 I(4) 4 scalar MPI_FINALIZE Subr 912 912 MPI_FLOAT Param 372 I(4) 4 scalar MPI_FLOAT_INT Param 384 I(4) 4 scalar Page 12 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_GRAPH Param 280 I(4) 4 scalar MPI_GROUP_EMPTY Param 204 I(4) 4 scalar MPI_GROUP_NULL Param 212 I(4) 4 scalar MPI_HOST Param 228 I(4) 4 scalar MPI_IDENT Param 152 I(4) 4 scalar MPI_INFO_ENV Param 224 I(4) 4 scalar MPI_INFO_NULL Param 222 I(4) 4 scalar MPI_INIT Subr 600 600 MPI_INT Param 364 I(4) 4 scalar MPI_INT16_T Param 398 I(4) 4 scalar MPI_INT32_T Param 400 I(4) 4 scalar MPI_INT64_T Param 402 I(4) 4 scalar MPI_INT8_T Param 396 I(4) 4 scalar MPI_INTEGER Param 304 I(4) 4 scalar 704,705,706,707,708,709,710,711,71 2,713,714,715,716 MPI_INTEGER1 Param 322 I(4) 4 scalar MPI_INTEGER16 Param 330 I(4) 4 scalar MPI_INTEGER2 Param 324 I(4) 4 scalar MPI_INTEGER4 Param 326 I(4) 4 scalar MPI_INTEGER8 Param 328 I(4) 4 scalar MPI_INTEGER_KIND Param 350 I(4) 4 scalar MPI_IO Param 230 I(4) 4 scalar MPI_KEYVAL_INVALID Param 268 I(4) 4 scalar MPI_LAND Param 180 I(4) 4 scalar MPI_LASTUSEDCODE Param 236 I(4) 4 scalar MPI_LB Param 318 I(4) 4 scalar MPI_LOCK_EXCLUSIVE Param 290 I(4) 4 scalar MPI_LOCK_SHARED Param 292 I(4) 4 scalar MPI_LOGICAL Param 298 I(4) 4 scalar MPI_LONG Param 368 I(4) 4 scalar MPI_LONG_DOUBLE Param 376 I(4) 4 scalar MPI_LONG_DOUBLE_INT Param 394 I(4) 4 scalar MPI_LONG_INT Param 388 I(4) 4 scalar MPI_LONG_LONG Param 382 I(4) 4 scalar MPI_LONG_LONG_INT Param 378 I(4) 4 scalar MPI_LOR Param 184 I(4) 4 scalar MPI_LXOR Param 188 I(4) 4 scalar MPI_MAX Param 172 I(4) 4 scalar MPI_MAXLOC Param 194 I(4) 4 scalar MPI_MAX_DATAREP_STRING Param 262 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 250 I(4) 4 scalar MPI_MAX_INFO_KEY Param 256 I(4) 4 scalar MPI_MAX_INFO_VAL Param 258 I(4) 4 scalar MPI_MAX_LIBRARY_VERSION_ST RING Param 264 I(4) 4 scalar MPI_MAX_OBJECT_NAME Param 254 I(4) 4 scalar MPI_MAX_PORT_NAME Param 252 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 260 I(4) 4 scalar MPI_MESSAGE_NO_PROC Param 494 I(4) 4 scalar MPI_MESSAGE_NULL Param 492 I(4) 4 scalar MPI_MIN Param 174 I(4) 4 scalar MPI_MINLOC Param 192 I(4) 4 scalar MPI_MODE_APPEND Param 518 I(4) 4 scalar MPI_MODE_CREATE Param 514 I(4) 4 scalar MPI_MODE_DELETE_ON_CLOSE Param 510 I(4) 4 scalar Page 13 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_MODE_EXCL Param 516 I(4) 4 scalar MPI_MODE_NOCHECK Param 480 I(4) 4 scalar MPI_MODE_NOPRECEDE Param 486 I(4) 4 scalar MPI_MODE_NOPUT Param 484 I(4) 4 scalar MPI_MODE_NOSTORE Param 482 I(4) 4 scalar MPI_MODE_NOSUCCEED Param 488 I(4) 4 scalar MPI_MODE_RDONLY Param 504 I(4) 4 scalar MPI_MODE_RDWR Param 506 I(4) 4 scalar MPI_MODE_SEQUENTIAL Param 520 I(4) 4 scalar MPI_MODE_UNIQUE_OPEN Param 512 I(4) 4 scalar MPI_MODE_WRONLY Param 508 I(4) 4 scalar MPI_NO_OP Param 198 I(4) 4 scalar MPI_NULL_COPY_FN Subr 548 scalar MPI_NULL_DELETE_FN Subr 548 scalar MPI_OFFSET Param 424 I(4) 4 scalar MPI_OFFSET_KIND Param 346 I(4) 4 scalar MPI_OP_NULL Param 214 I(4) 4 scalar MPI_ORDER_C Param 528 I(4) 4 scalar MPI_ORDER_FORTRAN Param 530 I(4) 4 scalar MPI_PACKED Param 320 I(4) 4 scalar MPI_PROC_NULL Param 272 I(4) 4 scalar MPI_PROD Param 178 I(4) 4 scalar MPI_REAL Param 300 I(4) 4 scalar 717,718,719,720,721 MPI_REAL16 Param 336 I(4) 4 scalar MPI_REAL4 Param 332 I(4) 4 scalar MPI_REAL8 Param 334 I(4) 4 scalar MPI_REDUCE Subr 863 863 MPI_REPLACE Param 196 I(4) 4 scalar MPI_REQUEST_NULL Param 218 I(4) 4 scalar MPI_ROOT Param 278 I(4) 4 scalar MPI_SEEK_CUR Param 524 I(4) 4 scalar MPI_SEEK_END Param 526 I(4) 4 scalar MPI_SEEK_SET Param 522 I(4) 4 scalar MPI_SHORT Param 360 I(4) 4 scalar MPI_SHORT_INT Param 390 I(4) 4 scalar MPI_SIGNED_CHAR Param 354 I(4) 4 scalar MPI_SIMILAR Param 156 I(4) 4 scalar MPI_SOURCE Param 21 I(4) 4 scalar MPI_STATUS_SIZE Param 23 I(4) 4 scalar 25,26 MPI_SUBARRAYS_SUPPORTED Param 542 L(4) 4 scalar MPI_SUBVERSION Param 288 I(4) 4 scalar MPI_SUCCESS Param 30 I(4) 4 scalar MPI_SUM Param 176 I(4) 4 scalar 864 MPI_TAG Param 21 I(4) 4 scalar MPI_TAG_UB Param 226 I(4) 4 scalar MPI_THREAD_FUNNELED Param 498 I(4) 4 scalar MPI_THREAD_MULTIPLE Param 502 I(4) 4 scalar MPI_THREAD_SERIALIZED Param 500 I(4) 4 scalar MPI_THREAD_SINGLE Param 496 I(4) 4 scalar MPI_TYPECLASS_COMPLEX Param 478 I(4) 4 scalar MPI_TYPECLASS_INTEGER Param 476 I(4) 4 scalar MPI_TYPECLASS_REAL Param 474 I(4) 4 scalar MPI_TYPE_DUP_FN Subr 555 scalar MPI_TYPE_NULL_COPY_FN Subr 556 scalar MPI_TYPE_NULL_DELETE_FN Subr 555 scalar Page 14 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MPI_UB Param 316 I(4) 4 scalar MPI_UINT16_T Param 406 I(4) 4 scalar MPI_UINT32_T Param 408 I(4) 4 scalar MPI_UINT64_T Param 410 I(4) 4 scalar MPI_UINT8_T Param 404 I(4) 4 scalar MPI_UNDEFINED Param 266 I(4) 4 scalar MPI_UNEQUAL Param 158 I(4) 4 scalar MPI_UNIVERSE_SIZE Param 234 I(4) 4 scalar MPI_UNSIGNED Param 366 I(4) 4 scalar MPI_UNSIGNED_CHAR Param 356 I(4) 4 scalar MPI_UNSIGNED_LONG Param 370 I(4) 4 scalar MPI_UNSIGNED_LONG_LONG Param 380 I(4) 4 scalar MPI_UNSIGNED_SHORT Param 362 I(4) 4 scalar MPI_VERSION Param 286 I(4) 4 scalar MPI_WCHAR Param 358 I(4) 4 scalar MPI_WIN_BASE Param 240 I(4) 4 scalar MPI_WIN_CREATE_FLAVOR Param 246 I(4) 4 scalar MPI_WIN_DISP_UNIT Param 244 I(4) 4 scalar MPI_WIN_DUP_FN Subr 553 scalar MPI_WIN_FLAVOR_ALLOCATE Param 162 I(4) 4 scalar MPI_WIN_FLAVOR_CREATE Param 160 I(4) 4 scalar MPI_WIN_FLAVOR_DYNAMIC Param 164 I(4) 4 scalar MPI_WIN_FLAVOR_SHARED Param 166 I(4) 4 scalar MPI_WIN_MODEL Param 248 I(4) 4 scalar MPI_WIN_NULL Param 208 I(4) 4 scalar MPI_WIN_NULL_COPY_FN Subr 554 scalar MPI_WIN_NULL_DELETE_FN Subr 553 scalar MPI_WIN_SEPARATE Param 168 I(4) 4 scalar MPI_WIN_SIZE Param 242 I(4) 4 scalar MPI_WIN_UNIFIED Param 170 I(4) 4 scalar MPI_WTICK Func 549 R(8) 8 scalar MPI_WTIME Func 549 R(8) 8 scalar 759,859 MPI_WTIME_IS_GLOBAL Param 232 I(4) 4 scalar MSLPSD Local 594 R(4) 4 scalar 664,679,720,838 MYRANK Local 597 I(4) 4 scalar 602,604,608,727,764,765,860,866 N2 Local 610 I(4) 4 scalar 610 ND Local 610 I(4) 4 scalar 610,713,769 ND12 Local 610 I(4) 4 scalar 610 ND9 Local 610 I(4) 4 scalar 610,622,623,711,732,733,769,775,77 7 NE1 Local 610 I(4) 4 scalar 610,619,677 NE9 Local 611 I(4) 4 scalar 611,616,710,729,746,769 NINT Func 633 scalar 633,634,636,637,639,640 NM1 Local 781 I(4) 4 scalar 781,782,785,787,788 NM2 Local 786 I(4) 4 scalar 786,787,788 NPROCS Local 597 I(4) 4 scalar 601,764 NV Local 610 I(4) 4 scalar 610 NVR Local 610 I(4) 4 scalar 610 NVR12 Local 610 I(4) 4 scalar 610,621,628,677,680,716,730,737,74 8,794,795 OBS Local 583 R(8) 8 3 1 ALC 624,684,685,686,687,688,689,690,69 1,692,728,744,769 PI Local 668 R(4) 4 scalar 668,673 PMPI_WTICK Func 550 R(8) 8 scalar PMPI_WTIME Func 550 R(8) 8 scalar Page 15 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References PRCPSD Local 594 R(4) 4 scalar 663,679,719,838 RADVR Local 610 R(4) 4 scalar 610,677 RLAT1 Local 609 R(4) 4 scalar 609,636 RLAT2 Local 609 R(4) 4 scalar 609,637 RLON1 Local 609 R(4) 4 scalar 609,633 RLON2 Local 609 R(4) 4 scalar 609,634 SIG Local 588 R(8) 8 2 1 ALC 629,738,756,800,818,826,836,844,84 8,852,863 SIGALL Local 589 R(8) 8 2 1 ALC 630,739,757,863,871,873,874,903 SIGMAX Local 873 R(4) 4 scalar 873,874 SIGMAXI Local 595 R(4) 4 scalar 883,888,889,890,891,892,893,894,89 5,896 SIGMAXJ Local 595 R(4) 4 scalar 884,888,889,890,891,892,893,894,89 5,896 SIGTOP Local 575 R(4) 4 1 1 ALC 615,673,676,697 SISTR Local 574 R(4) 4 1 1 ALC 614,672,673,676,696 SQRT Func 788 scalar 788 SQUARETR2 Subr 769 769 SUMM_ALLNORMS Prog 11 SVPVR Local 587 R(8) 8 2 1 ALC 628,737,795,819,820,821,827,828,82 9,830,831,837,838 TIME_BEGIN Local 591 R(8) 8 scalar 759,860 TIME_END Local 591 R(8) 8 scalar 859,860 UV850SD Local 594 R(4) 4 scalar 662,679,718,837 UVSD Local 594 R(4) 4 scalar 661,679,717 VRLAT Local 610 R(4) 4 scalar 610,640,643 VRLON Local 610 R(4) 4 scalar 610,639,643 WORK3 Local 590 R(8) 8 2 1 ALC 631,740,777,779 XVVEST Local 576 R(8) 8 2 1 ALC 619,653,676,700 YTVEC Local 580 R(8) 8 2 1 ALC 616,650,729,746,769 YVVEST Local 579 R(8) 8 2 1 ALC 621,676,678,730,748,794 Z500SD Local 594 R(4) 4 scalar 665,679,721 TYPE COMPONENTS/COMMON VARIABLES Name Type Bytes Offset Dimen Elements Attributes References MPI_ARGVS_NULL CHAR 1 0 2 1 COM MPI_ARGV_NULL CHAR 1 1 1 1 COM MPI_BOTTOM I(4) 4 0 scalar COM MPI_ERRCODES_IGNORE I(4) 4 20 1 1 COM MPI_IN_PLACE I(4) 4 4 scalar COM MPI_STATUSES_IGNORE I(4) 4 0 2 5 COM MPI_STATUS_IGNORE I(4) 4 8 1 5 COM MPI_UNWEIGHTED I(4) 4 0 scalar COM MPI_WEIGHTS_EMPTY I(4) 4 0 scalar COM Page 16 Source Listing SUMM_ALLNORMS 2022-05-02 15:46 summ_allnorms.f 916 917 ************************************************************************ 918 ************************************************************************ 919 920 921 ************************************************************************ 922 * ----------------------------------------------------------------- 923 * Noting that keeping a bunch of extra variables around, the time 924 * has come to make matrix transposes a calculates, rather than a 925 * stored quantity. 926 * ----------------------------------------------------------------- 927 ************************************************************************ 928 SUBROUTINE DTRANS(M,N,A,B) 929 ************************************************************************ 930 931 double precision A(m,n) 932 double precision B(n,m) 933 do 1111 i=1,n 934 do 1111 j=1,m 935 1111 B(i,j)=A(j,i) 936 937 return 938 end ENTRY POINTS Name dtrans_ Page 17 Source Listing DTRANS 2022-05-02 15:46 Symbol Table summ_allnorms.f SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1111 Label 935 933,934 A Dummy 928 R(8) 8 2 0 ARG,INOUT 935 B Dummy 928 R(8) 8 2 0 ARG,INOUT 935 DTRANS Subr 928 I Local 933 I(4) 4 scalar 933,935 J Local 934 I(4) 4 scalar 934,935 M Dummy 928 I(4) 4 scalar ARG,INOUT 931,932,934 N Dummy 928 I(4) 4 scalar ARG,INOUT 931,932,933 Page 18 Source Listing DTRANS 2022-05-02 15:46 summ_allnorms.f 939 940 941 942 943 ************************************************************************ 944 * ----------------------------------------------------------------- 945 * Square target region -- set matrix HY -- NORMAL GRID 946 * ----------------------------------------------------------------- 947 subroutine squareTR2(ir2,jr2,obs,hy,ytvec,idim,jdim,ne9,nd9,mem, 948 & nd) 949 * ----------------------------------------------------------------- 950 ************************************************************************ 951 952 double precision ytvec(ne9,mem),hy(nd9,mem),obs(idim,jdim,9) 953 integer itra(200),jtra(200) 954 955 iwi=(nint(sqrt(nd+0.0))-1)/2 956 957 do 1302 nm=1,mem 958 ie1=0 959 itcount=0 960 do 1102 j=1,jdim 961 do 1002 i=1,idim 962 mmm=9*((j-1)*idim) + 9*(i-1) 963 if(abs(j-jr2).le.(iwi+.1).and.abs(i-ir2).le.(iwi+.1)) then 964 itcount=itcount+1 965 itra(itcount)=i 966 jtra(itcount)=j 967 ie1=ie1+1 968 hy(ie1,nm)=ytvec(mmm+1,nm)/sqrt(obs(i,j,1)) 969 ie1=ie1+1 970 hy(ie1,nm)=ytvec(mmm+2,nm)/sqrt(obs(i,j,2)) 971 ie1=ie1+1 972 hy(ie1,nm)=ytvec(mmm+3,nm)/sqrt(obs(i,j,3)) 973 ie1=ie1+1 974 hy(ie1,nm)=ytvec(mmm+4,nm)/sqrt(obs(i,j,4)) 975 ie1=ie1+1 976 hy(ie1,nm)=ytvec(mmm+5,nm)/sqrt(obs(i,j,5)) 977 ie1=ie1+1 978 hy(ie1,nm)=ytvec(mmm+6,nm)/sqrt(obs(i,j,6)) 979 ie1=ie1+1 980 hy(ie1,nm)=ytvec(mmm+7,nm)/sqrt(obs(i,j,7)) 981 ie1=ie1+1 982 hy(ie1,nm)=ytvec(mmm+8,nm)/sqrt(obs(i,j,8)) 983 ie1=ie1+1 984 hy(ie1,nm)=ytvec(mmm+9,nm)/sqrt(obs(i,j,9)) 985 endif 986 1002 continue 987 1102 continue 988 1302 continue 989 990 34 format (I4,I4,F10.4) 991 992 return 993 end Page 19 Source Listing SQUARETR2 2022-05-02 15:46 Entry Points summ_allnorms.f ENTRY POINTS Name squaretr2_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1002 Label 986 961 1102 Label 987 960 1302 Label 988 957 34 Label 990 ABS Func 963 scalar 963 HY Dummy 947 R(8) 8 2 0 ARG,INOUT 968,970,972,974,976,978,980,982,98 4 I Local 961 I(4) 4 scalar 961,962,963,965,968,970,972,974,97 6,978,980,982,984 IDIM Dummy 947 I(4) 4 scalar ARG,INOUT 952,961,962 IE1 Local 958 I(4) 4 scalar 958,967,968,969,970,971,972,973,97 4,975,976,977,978,979,980,981,982, 983,984 IR2 Dummy 947 I(4) 4 scalar ARG,INOUT 963 ITCOUNT Local 959 I(4) 4 scalar 959,964,965,966 ITRA Local 953 I(4) 4 1 200 965 IWI Local 955 I(4) 4 scalar 955,963 J Local 960 I(4) 4 scalar 960,962,963,966,968,970,972,974,97 6,978,980,982,984 JDIM Dummy 947 I(4) 4 scalar ARG,INOUT 952,960 JR2 Dummy 947 I(4) 4 scalar ARG,INOUT 963 JTRA Local 953 I(4) 4 1 200 966 MEM Dummy 947 I(4) 4 scalar ARG,INOUT 952,957 MMM Local 962 I(4) 4 scalar 962,968,970,972,974,976,978,980,98 2,984 ND Dummy 948 I(4) 4 scalar ARG,INOUT 955 ND9 Dummy 947 I(4) 4 scalar ARG,INOUT 952 NE9 Dummy 947 I(4) 4 scalar ARG,INOUT 952 NINT Func 955 scalar 955 NM Local 957 I(4) 4 scalar 957,968,970,972,974,976,978,980,98 2,984 OBS Dummy 947 R(8) 8 3 0 ARG,INOUT 968,970,972,974,976,978,980,982,98 4 SQRT Func 955 scalar 955,968,970,972,974,976,978,980,98 2,984 SQUARETR2 Subr 947 YTVEC Dummy 947 R(8) 8 2 0 ARG,INOUT 968,970,972,974,976,978,980,982,98 4 Page 20 Source Listing SQUARETR2 2022-05-02 15:46 summ_allnorms.f 994 995 996 997 998 999 1000 ************************************************************************ 1001 * ----------------------------------------------------------------- 1002 * Circular verification region, calculate Y matrix in VR 1003 * ----------------------------------------------------------------- 1004 subroutine calcvrci(ivr,jvr,sistr,sigtop,cmat,ivm,xvvest,yvvest, 1005 &jstr,ne1,mem,nvr12,idim,jdim,radvr,georad) 1006 * ----------------------------------------------------------------- 1007 ************************************************************************ 1008 1009 dimension sistr(jstr),sigtop(jstr) 1010 integer ivra(500),jvra(500) 1011 double precision xvvest(ne1,mem),cmat(mem,mem),yvvest(nvr12,mem) 1012 1013 pi=acos(-1.0) 1014 1015 c compute coordinates of the verification area 1016 c ============================================ 1017 radjvr=float(jvr-1)*pi/72. 1018 radivr=float(ivr-1)*2.0*pi/144. 1019 zvr=cos(radjvr) 1020 xvr=sin(radjvr)*cos(radivr) 1021 yvr=sin(radjvr)*sin(radivr) 1022 1023 c ================================================================ 1024 c define distance of grid point from center of verification region 1025 c ================================================================ 1026 ie2=0 1027 c print*, 'j, sistr(j)*180./pi, sigtop(j)*180./pi' 1028 do 70 j=1,jstr 1029 c print *,j 1030 c print*, j, sistr(j)*180./pi, sigtop(j)*180./pi 1031 radj=sigtop(j) 1032 z=cos(radj) 1033 hr=sin(radj) 1034 do 60 i=1,idim 1035 radi=float(i-1)*2.0*pi/144. 1036 x=hr*cos(radi) 1037 y=hr*sin(radi) 1038 costh=(xvr*x+yvr*y+zvr*z) 1039 th=acos(costh) 1040 dist=georad*th 1041 if (dist.le.radvr) then 1042 ie2=ie2+1 1043 ivra(ie2)=i 1044 jvra(ie2)=j 1045 c print*, ie2,float(i-1)*2.5,sistr(j)*180./pi 1046 end if 1047 60 continue 1048 70 continue 1049 ivm=ie2 1050 c print*, 'ivmemo=',ivm Page 21 Source Listing CALCVRCI 2022-05-02 15:46 summ_allnorms.f 1051 1052 do 61 ivcount=1,ivm 1053 mmm=12*((jvra(ivcount)-1)*idim) + 12*(ivra(ivcount)-1) 1054 do 61 k=1,mem 1055 do 61 ivar=1,12 1056 num=mmm+ivar 1057 iv=(ivcount-1)*12+ivar 1058 yvvest(iv,k)=0.0 1059 do 62 nm2=1,mem 1060 yvvest(iv,k)=yvvest(iv,k)+xvvest(num,nm2)*cmat(nm2,k) 1061 62 continue 1062 61 continue 1063 1064 return 1065 end ENTRY POINTS Name calcvrci_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 60 Label 1047 1034 61 Label 1062 1052,1054,1055 62 Label 1061 1059 70 Label 1048 1028 ACOS Func 1013 scalar 1013,1039 CALCVRCI Subr 1004 CMAT Dummy 1004 R(8) 8 2 0 ARG,INOUT 1060 COS Func 1019 scalar 1019,1020,1032,1036 COSTH Local 1038 R(4) 4 scalar 1038,1039 DIST Local 1040 R(4) 4 scalar 1040,1041 FLOAT Func 1017 scalar 1017,1018,1035 GEORAD Dummy 1005 R(4) 4 scalar ARG,INOUT 1040 HR Local 1033 R(4) 4 scalar 1033,1036,1037 I Local 1034 I(4) 4 scalar 1034,1035,1043 IDIM Dummy 1005 I(4) 4 scalar ARG,INOUT 1034,1053 IE2 Local 1026 I(4) 4 scalar 1026,1042,1043,1044,1049 IV Local 1057 I(4) 4 scalar 1057,1058,1060 IVAR Local 1055 I(4) 4 scalar 1055,1056,1057 IVCOUNT Local 1052 I(4) 4 scalar 1052,1053,1057 IVM Dummy 1004 I(4) 4 scalar ARG,INOUT 1049,1052 IVR Dummy 1004 I(4) 4 scalar ARG,INOUT 1018 IVRA Local 1010 I(4) 4 1 500 1043,1053 J Local 1028 I(4) 4 scalar 1028,1031,1044 JDIM Dummy 1005 I(4) 4 scalar ARG,INOUT JSTR Dummy 1005 I(4) 4 scalar ARG,INOUT 1009,1028 JVR Dummy 1004 I(4) 4 scalar ARG,INOUT 1017 JVRA Local 1010 I(4) 4 1 500 1044,1053 K Local 1054 I(4) 4 scalar 1054,1058,1060 MEM Dummy 1005 I(4) 4 scalar ARG,INOUT 1011,1054,1059 Page 22 Source Listing CALCVRCI 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References MMM Local 1053 I(4) 4 scalar 1053,1056 NE1 Dummy 1005 I(4) 4 scalar ARG,INOUT 1011 NM2 Local 1059 I(4) 4 scalar 1059,1060 NUM Local 1056 I(4) 4 scalar 1056,1060 NVR12 Dummy 1005 I(4) 4 scalar ARG,INOUT 1011 PI Local 1013 R(4) 4 scalar 1013,1017,1018,1035 RADI Local 1035 R(4) 4 scalar 1035,1036,1037 RADIVR Local 1018 R(4) 4 scalar 1018,1020,1021 RADJ Local 1031 R(4) 4 scalar 1031,1032,1033 RADJVR Local 1017 R(4) 4 scalar 1017,1019,1020,1021 RADVR Dummy 1005 R(4) 4 scalar ARG,INOUT 1041 SIGTOP Dummy 1004 R(4) 4 1 0 ARG,INOUT 1031 SIN Func 1020 scalar 1020,1021,1033,1037 SISTR Dummy 1004 R(4) 4 1 0 ARG,INOUT TH Local 1039 R(4) 4 scalar 1039,1040 X Local 1036 R(4) 4 scalar 1036,1038 XVR Local 1020 R(4) 4 scalar 1020,1038 XVVEST Dummy 1004 R(8) 8 2 0 ARG,INOUT 1060 Y Local 1037 R(4) 4 scalar 1037,1038 YVR Local 1021 R(4) 4 scalar 1021,1038 YVVEST Dummy 1004 R(8) 8 2 0 ARG,INOUT 1058,1060 Z Local 1032 R(4) 4 scalar 1032,1038 ZVR Local 1019 R(4) 4 scalar 1019,1038 Page 23 Source Listing CALCVRCI 2022-05-02 15:46 summ_allnorms.f 1066 1067 1068 ************************************************************************ 1069 * ----------------------------------------------------------------- 1070 * Calculate forecast error variance for routine obs. network 1071 * ----------------------------------------------------------------- 1072 subroutine calc_fev_routine(ivm,yvvest,fev_routine, 1073 & uvsd,uv850sd,prcpsd,mslpsd,z500sd, 1074 & nvr12,mem,ivnorm) 1075 * ----------------------------------------------------------------- 1076 ************************************************************************ 1077 1078 integer ivm 1079 double precision yvvest(nvr12,mem),fev_routine 1080 1081 real uvsd,uv850sd,prcpsd,mslpsd,z500sd 1082 1083 fev_routine=0.0 1084 do 161 ivcount=1,ivm 1085 do 161 k=1,mem 1086 iu850=(ivcount-1)*12 + 1 1087 iv850=(ivcount-1)*12 + 2 1088 iu500=(ivcount-1)*12 + 3 1089 iv500=(ivcount-1)*12 + 4 1090 iu200=(ivcount-1)*12 + 5 1091 iv200=(ivcount-1)*12 + 6 1092 it850=(ivcount-1)*12 + 7 1093 it500=(ivcount-1)*12 + 8 1094 it200=(ivcount-1)*12 + 9 1095 iprcp=(ivcount-1)*12 + 10 1096 imslp=(ivcount-1)*12 + 11 1097 iz500=(ivcount-1)*12 + 12 1098 1099 * ****** (u,v) verifying norm ****** 1100 if (ivnorm.eq.1) then 1101 fev_routine = fev_routine + 1102 & yvvest(iu850,k)**2 + yvvest(iv850,k)**2 + 1103 & yvvest(iu500,k)**2 + yvvest(iv500,k)**2 + 1104 & yvvest(iu200,k)**2 + yvvest(iv200,k)**2 1105 endif 1106 1107 * ****** Total energy verifying norm ****** 1108 if (ivnorm.eq.2) then 1109 fev_routine = fev_routine + 1110 & 0.5*( yvvest(iu850,k)**2 + yvvest(iv850,k)**2 + 1111 & yvvest(iu500,k)**2 + yvvest(iv500,k)**2 + 1112 & yvvest(iu200,k)**2 + yvvest(iv200,k)**2 ) + 1113 & 3.346*( yvvest(it850,k)**2 + yvvest(it500,k)**2 + 1114 & yvvest(it200,k)**2 ) 1115 endif 1116 1117 * ****** (u850,v850,precip,mslp) verifying norm ****** 1118 if (ivnorm.eq.3) then 1119 fev_routine = fev_routine + 1120 & (yvvest(iu850,k)**2 + yvvest(iv850,k)**2)/uv850sd**2 + 1121 & (yvvest(iprcp,k)/prcpsd)**2 + (yvvest(imslp,k)/mslpsd)**2 1122 endif Page 24 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 summ_allnorms.f 1123 1124 161 continue 1125 1126 if (ivnorm.eq.1) then 1127 fev_routine = fev_routine/(mem*ivm*3.0) 1128 endif 1129 1130 if (ivnorm.eq.2) then 1131 fev_routine = fev_routine/(mem*ivm*3.0) 1132 endif 1133 1134 if (ivnorm.eq.3) then 1135 fev_routine = fev_routine/(mem*ivm) 1136 endif 1137 1138 return 1139 end ENTRY POINTS Name calc_fev_routine_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 161 Label 1124 1084,1085 CALC_FEV_ROUTINE Subr 1072 FEV_ROUTINE Dummy 1072 R(8) 8 scalar ARG,INOUT 1083,1101,1109,1119,1127,1131,1135 IMSLP Local 1096 I(4) 4 scalar 1096,1121 IPRCP Local 1095 I(4) 4 scalar 1095,1121 IT200 Local 1094 I(4) 4 scalar 1094,1114 IT500 Local 1093 I(4) 4 scalar 1093,1113 IT850 Local 1092 I(4) 4 scalar 1092,1113 IU200 Local 1090 I(4) 4 scalar 1090,1104,1112 IU500 Local 1088 I(4) 4 scalar 1088,1103,1111 IU850 Local 1086 I(4) 4 scalar 1086,1102,1110,1120 IV200 Local 1091 I(4) 4 scalar 1091,1104,1112 IV500 Local 1089 I(4) 4 scalar 1089,1103,1111 IV850 Local 1087 I(4) 4 scalar 1087,1102,1110,1120 IVCOUNT Local 1084 I(4) 4 scalar 1084,1086,1087,1088,1089,1090,1091 ,1092,1093,1094,1095,1096,1097 IVM Dummy 1072 I(4) 4 scalar ARG,INOUT 1084,1127,1131,1135 IVNORM Dummy 1074 I(4) 4 scalar ARG,INOUT 1100,1108,1118,1126,1130,1134 IZ500 Local 1097 I(4) 4 scalar 1097 K Local 1085 I(4) 4 scalar 1085,1102,1103,1104,1110,1111,1112 ,1113,1114,1120,1121 MEM Dummy 1074 I(4) 4 scalar ARG,INOUT 1079,1085,1127,1131,1135 MSLPSD Dummy 1073 R(4) 4 scalar ARG,INOUT 1121 NVR12 Dummy 1074 I(4) 4 scalar ARG,INOUT 1079 PRCPSD Dummy 1073 R(4) 4 scalar ARG,INOUT 1121 UV850SD Dummy 1073 R(4) 4 scalar ARG,INOUT 1120 UVSD Dummy 1073 R(4) 4 scalar ARG,INOUT Page 25 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 Symbol Table summ_allnorms.f Name Object Declared Type Bytes Dimen Elements Attributes References YVVEST Dummy 1072 R(8) 8 2 0 ARG,INOUT 1102,1103,1104,1110,1111,1112,1113 ,1114,1120,1121 Z500SD Dummy 1073 R(4) 4 scalar ARG,INOUT Page 26 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 Subprograms/Common Blocks summ_allnorms.f SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References CALCVRCI Subr 1004 CALC_FEV_ROUTINE Subr 1072 DTRANS Subr 928 MPIFCMB5 Common 562 4 SAVE MPIFCMB9 Common 563 4 SAVE MPIPRIV1 Common 567 28 SAVE MPIPRIV2 Common 569 24 SAVE MPIPRIVC Common 572 2 SAVE SQUARETR2 Subr 947 SUMM_ALLNORMS Prog 11 COMPILER OPTIONS BEING USED -align noall -align nonone -align nocommons -align nodcommons -align noqcommons -align nozcommons -align records -align sequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -align norec32byte -align norec64byte -align noarray8byte -align noarray16byte -align noarray32byte -align noarray64byte -align noarray128byte -align noarray256byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume nobuffered_stdout -assume byterecl -assume nocontiguous_assumed_shape -assume nocontiguous_pointer -assume cc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_complex_align -assume old_unit_star -assume old_inquire_recl -assume old_ldout_format -assume old_ldout_zero -assume noold_logical_assign -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume noprotect_allocates -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume std_minus0_rounding -assume nostd_mod_proc_name -assume std_value -assume realloc_lhs -assume underscore -assume no2underscores -assume norecursion -auto no -auto_scalar no -bintext -ccdefault default -check noarg_temp_created -check noassume -check nobounds -check nocontiguous -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check noshape -check nostack -check nouninitialized -check noudio_iostat -coarray-num-procs 0 no -coarray-config-file Page 27 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 summ_allnorms.f -convert big_endian -cross_reference -D __INTEL_COMPILER=1910 -D __INTEL_COMPILER_UPDATE=3 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D __amd64 -D __amd64__ -D __INTEL_COMPILER_BUILD_DATE=20200925 -D _OPENMP=201611 -D __INTEL_OFFLOAD -D __MMX__ -D __SSE__ -D __SSE_MATH__ -D __SSE2__ -D __SSE2_MATH__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __POPCNT__ -D __PCLMUL__ -D __AES__ -D __AVX__ -D __F16C__ -D __AVX_I__ -D __RDRND__ -D __FMA__ -D __FP_FAST_FMA -D __FP_FAST_FMAF -D __BMI__ -D __LZCNT__ -D __AVX2__ -D __haswell -D __haswell__ -D __tune_haswell__ -D __core_avx2 -D __core_avx2__ -D __tune_core_avx2__ -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 -ftz -fp_model precise -fp_model nofast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits no_prec_div -fp_modbits noprec_sqrt -fp_modbits no_prec_sqrt -fp_modbits ftz -fp_modbits nono_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits no_precise_libm_functions -heap_arrays 0 no -threadprivate_compat -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg -init noarrays -init nohuge -init noinfinity -init nominus_huge -init nominus_infinity -init nominus_tiny -init nonan -init nosnan Page 28 Source Listing CALC_FEV_ROUTINE 2022-05-02 15:46 summ_allnorms.f -init notiny -init nozero no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude no -o -offload-build=host -openmp -openmp-simd -openmp-offload -O3 no -pad_source -real_size 32 no -recursive -reentrancy threaded -vec=simd -show nofullpath -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w nodeclarations -w noexternals -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w noshape -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage no -wrap-margins -includepath : /pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/, /usr/include/,./,/opt/cray/pe/mpich/8.1.9/ofi/intel/19.0/include/,/opt/cray/pe/libsci/21.08.1.2/INTEL/19.0/x86_64/include/, /pe/intel/compilers_and_libraries_2020.4.304/linux/ipp/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/mkl/include/, /pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/pstl/stdlib/, /pe/intel/compilers_and_libraries_2020.4.304/linux/tbb/include/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/intel64/, /pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/icc/,/pe/intel/compilers_and_libraries_2020.4.304/linux/compiler/include/, /usr/lib64/gcc/x86_64-suse-linux/7/include/,/usr/lib64/gcc/x86_64-suse-linux/7/include-fixed/,/usr/include/, /usr/include/,/usr/include/ -list filename : summ_allnorms.lst no -o COMPILER: Intel(R) Fortran 19.1-1655