Page 1 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3IOTRMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 26-Dec-2012 | 9 !/ +-----------------------------------+ 10 ! 11 !/ See subroutine for update history. 12 !/ 13 ! 1. Purpose : 14 ! 15 ! Generate track output. 16 ! 17 ! 2. Variables and types : 18 ! 19 ! Name Type Scope Description 20 ! ---------------------------------------------------------------- 21 ! VERTRK C*10 Private Version number of routine. 22 ! IDSTRI C*34 Private ID string input file. 23 ! IDSTRO C*34 Private ID string output file. 24 ! ---------------------------------------------------------------- 25 ! 26 ! 3. Subroutines and functions : 27 ! 28 ! Name Type Scope Description 29 ! ---------------------------------------------------------------- 30 ! W3IOTR Subr. Public Track output subroutine. 31 ! ---------------------------------------------------------------- 32 ! 33 ! 4. Subroutines and functions used : 34 ! 35 ! Name Type Module Description 36 ! ---------------------------------------------------------------- 37 ! W3SETO Subr. W3ODATMD Point to data structure. 38 ! W3SETG Subr. W3GDATMD Point to data structure. 39 ! W3SETW Subr. W3WDATMD Point to data structure. 40 ! W3SETA Subr. W3ADATMD Point to data structure. 41 ! W3DMO3 Subr. W3ODATMD Allocate work arrays. 42 ! STRACE Subr. W3SERVMD Subroutine tracing. 43 ! TICK21 Subr. W3TIMEMD Increment time. 44 ! DSEC21 Func. W3TIMEMD Time difference. 45 ! MPI_SEND, MPI_RECV, MPI_STARTALL, MPI_WAITALL 46 ! MPI send and recieve routines 47 ! ---------------------------------------------------------------- 48 ! 49 ! 5. Remarks : 50 ! 51 ! 6. Switches : 52 ! 53 ! See documentation of W3IOTR. 54 ! 55 ! 7. Source code : 56 ! 57 !/ ------------------------------------------------------------------- / Page 2 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 58 !/ 59 !/ Private parameter statements (ID strings) 60 !/ 61 CHARACTER(LEN=10), PARAMETER, PRIVATE :: VERTRK = 'III 1.02 ' 62 CHARACTER(LEN=34), PARAMETER, PRIVATE :: & 63 IDSTRI = 'WAVEWATCH III TRACK LOCATIONS DATA', & 64 IDSTRO = 'WAVEWATCH III TRACK OUTPUT SPECTRA' 65 !/ 66 CONTAINS 67 !/ ------------------------------------------------------------------- / 68 SUBROUTINE W3IOTR ( NDSINP, NDSOUT, A, IMOD ) 69 !/ 70 !/ +-----------------------------------+ 71 !/ | WAVEWATCH III NOAA/NCEP | 72 !/ | H. L. Tolman | 73 !/ | FORTRAN 90 | 74 !/ | Last update : 26-Dec-2012 | 75 !/ +-----------------------------------+ 76 !/ 77 !/ 22-Dec-1998 : Final FORTRAN 77 ( version 1.18 ) 78 !/ 27-Dec-1999 : Upgrade to FORTRAN 90 ( version 2.00 ) 79 !/ 24-Jan-2001 : Flat grid version ( version 2.06 ) 80 !/ 20-Aug-2003 : Output through NAPTRK, seq. file. ( version 3.04 ) 81 !/ 24-Nov-2004 : Multiple grid version. ( version 3.06 ) 82 !/ 04-May-2005 : Change to MPI_COMM_WAVE. ( version 3.07 ) 83 !/ 27-Jun-2005 : Adding MAPST2, ( version 3.07 ) 84 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 85 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 86 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 87 !/ 30-Oct-2009 : Implement run-time grid selection. ( version 3.14 ) 88 !/ (W. E. Rogers & T. J. Campbell, NRL) 89 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 90 !/ (W. E. Rogers & T. J. Campbell, NRL) 91 !/ 06-Dec-2010 : Change from GLOBAL (logical) to ICLOSE (integer) to 92 !/ specify index closure for a grid. ( version 3.14 ) 93 !/ (T. J. Campbell, NRL) 94 !/ 26-Dec-2012 ; Initialize ASPTRK. ( version 4.11 ) 95 !/ 96 !/ Copyright 2009-2012 National Weather Service (NWS), 97 !/ National Oceanic and Atmospheric Administration. All rights 98 !/ reserved. WAVEWATCH III is a trademark of the NWS. 99 !/ No unauthorized use without permission. 100 !/ 101 ! 1. Purpose : 102 ! 103 ! Perform output of spectral information along provided tracks. 104 ! 105 ! 2. Method : 106 ! 107 ! Time and location data for the track is read from the file 108 ! track_i.FILEXT, and output spectra ad adtional information are 109 ! written to track_o.FILEXT. 110 ! 111 ! The spectrum dumped is the frequency-direction spectrum in 112 ! m**2/Hz/rad. 113 ! 114 ! The output spectra are energy density spectra in terms of the Page 3 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 115 ! true frequency and a direction in radians. The corresponding 116 ! band widths are part of the file header. 117 ! 118 ! 3. Parameters : 119 ! 120 ! Parameter list 121 ! ---------------------------------------------------------------- 122 ! NDSINP Int. I Unit number of input file track_i.FILEXT 123 ! If negative, file is unformatted and v.v. 124 ! NDSOUT Int. I Unit number of outptu file track_o.FILEXT 125 ! A R.A. I Spectra (shape conversion through par list). 126 ! IMOD Int. I Model grid number. 127 ! ---------------------------------------------------------------- 128 ! 129 ! 4. Subroutines used : 130 ! 131 ! See module documentation. 132 ! 133 ! 5. Called by : 134 ! 135 ! Name Type Module Description 136 ! ---------------------------------------------------------------- 137 ! W3WAVE Subr. W3WAVEMD Actual wave model routine. 138 ! ---------------------------------------------------------------- 139 ! 140 ! 6. Error messages : 141 ! 142 ! - If input file not found, a warning is printed and output 143 ! type is disabled. 144 ! 145 ! 8. Structure : 146 ! 147 ! See source code. 148 ! 149 ! 9. Switches : 150 ! 151 ! !/SHRD Switch for shared / distributed memory architecture. 152 ! !/DIST Id. 153 ! !/MPI MPI interface routines. 154 ! 155 ! !/S Enable subroutine tracing. 156 ! !/T General test output. 157 ! !/T1 Test output on track point status. 158 ! !/T2 Test output of mask arrays. 159 ! !/T3 Test output for writing of file. 160 ! 161 ! 10. Source code : 162 ! 163 !/ ------------------------------------------------------------------- / 164 USE CONSTANTS 165 !/ 166 USE W3GDATMD, ONLY: W3SETG 167 USE W3WDATMD, ONLY: W3SETW 168 USE W3ADATMD, ONLY: W3SETA 169 USE W3ODATMD, ONLY: W3SETO, W3DMO3 170 !/ 171 USE W3GDATMD, ONLY: NK, NTH, NSPEC, NSEA, NSEAL, NX, NY, & Page 4 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 172 FLAGLL, ICLOSE, XGRD, YGRD, GSU, & 173 DPDX, DPDY, DQDX, DQDY, MAPSTA, MAPST2, & 174 MAPFS, TH, DTH, SIG, DSIP, FILEXT 175 USE W3GSRUMD, ONLY: W3GFCL 176 USE W3GDATMD, ONLY: XYB, MAXX, MAXY, GTYPE, UNGTYPE 177 USE W3WDATMD, ONLY: TIME, UST 178 USE W3ADATMD, ONLY: CG, DW, CX, CY, UA, UD, AS 179 USE W3ADATMD, ONLY: MPI_COMM_WAVE 180 USE W3ODATMD, ONLY: NDST, NDSE, IAPROC, NAPROC, NAPTRK, NAPERR, & 181 IPASS => IPASS3, ATOLAST => TOLAST, & 182 ADTOUT => DTOUT, O3INIT, STOP, MASK1, & 183 MASK2, FNMPRE 184 USE W3ODATMD, ONLY: IT0TRK, NRQTR, IRQTR 185 !/ 186 USE W3TIMEMD 187 ! 188 IMPLICIT NONE 189 ! 190 INCLUDE "mpif.h" 191 !/ 192 !/ ------------------------------------------------------------------- / 193 !/ Parameter list 194 !/ 733 INTEGER, INTENT(IN) :: NDSINP, NDSOUT, IMOD 734 REAL, INTENT(IN) :: A(NTH,NK,0:NSEAL) 735 !/ 736 !/ ------------------------------------------------------------------- / 737 !/ Local parameters 738 !/ 739 INTEGER, PARAMETER :: OTYPE = 3 740 INTEGER :: NDSTI, NDSTO, ISPROC, IERR, & 741 IK, ITH, IX, IY, TIMEB(2), TIMEE(2), & 742 TTIME(2), IX1, IX2, IY1, IY2, & 743 IXX(4), IYY(4), I, J, ISEA, JSEA, & 744 TOLAST(2) 745 INTEGER :: IT, IROOT, IFROM, IERR_MPI 746 INTEGER, ALLOCATABLE :: STATUS(:,:) 747 REAL :: XN, YN, XT, YT, RD, X, Y, WX, WY, & 748 SPEC(NK,NTH), FACTOR, ASPTRK(NTH,NK),& 749 DTOUT, XX(4), YY(4) 750 REAL, SAVE :: RDCHCK = 0.05, RTCHCK = 0.05 751 LOGICAL :: FORMI, FLAG1, FLAG2, INGRID 752 CHARACTER(LEN=3) :: TSTSTR 753 CHARACTER(LEN=34) :: IDTST 754 ! 755 !FAB: was not in trunk ...? 756 EQUIVALENCE (IXX(1),IX1) , (IXX(2),IX2) , & 757 (IYY(1),IY1) , (IYY(3),IY2) 758 !/ 759 !/ ------------------------------------------------------------------- / 760 !/ 761 ! 762 CALL W3SETO ( IMOD, NDSE, NDST ) 763 CALL W3SETG ( IMOD, NDSE, NDST ) 764 CALL W3SETA ( IMOD, NDSE, NDST ) 765 CALL W3SETW ( IMOD, NDSE, NDST ) 766 ! Page 5 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 767 TOLAST = ATOLAST(:,OTYPE) 768 DTOUT = ADTOUT(OTYPE) 769 ! 770 IF ( .NOT. O3INIT ) CALL W3DMO3 ( IMOD, NDSE, NDST ) 771 ! 772 FORMI = NDSINP .GT. 0 773 NDSTI = ABS(NDSINP) 774 NDSTO = ABS(NDSOUT) 775 776 IF (GTYPE .EQ. UNGTYPE) THEN 777 XN = MAXX 778 YN = MAXY 779 ENDIF 780 ! 781 ISPROC = IAPROC 782 IPASS = IPASS + 1 783 ! 784 IF ( FLAGLL ) THEN 785 FACTOR = 1. 786 ELSE 787 FACTOR = 1.E-3 788 END IF 789 ! 790 ASPTRK = 0. 791 ! 792 IF ( NRQTR .GT. 0 ) THEN 793 CALL MPI_STARTALL ( NRQTR, IRQTR, IERR_MPI ) 794 ALLOCATE ( STATUS(MPI_STATUS_SIZE,NRQTR) ) 795 CALL MPI_WAITALL ( NRQTR, IRQTR , STATUS, IERR_MPI ) 796 DEALLOCATE ( STATUS ) 797 END IF 798 ! 799 ! 1. First pass through routine ------------------------------------- * 800 ! 801 IF ( IPASS .EQ. 1 ) THEN 802 ! 803 ! Removed by F.A. 2010/12/24 /T CALL W3GSUP ( GSU, NDST ) 804 ! 805 I = LEN_TRIM(FILEXT) 806 J = LEN_TRIM(FNMPRE) 807 ! 808 ! 1.a Open input file 809 ! 810 IF ( FORMI ) THEN 811 OPEN (NDSTI,FILE=FNMPRE(:J)//'track_i.'//FILEXT(:I), & 812 STATUS='OLD',ERR=800,FORM='FORMATTED',IOSTAT=IERR) 813 READ (NDSTI,'(A)',ERR=801,END=802,IOSTAT=IERR) IDTST 814 ELSE 815 OPEN (NDSTI,FILE=FNMPRE(:J)//'track_i.'//FILEXT(:I), & 816 STATUS='OLD',ERR=800,FORM='UNFORMATTED',IOSTAT=IERR) 817 READ (NDSTI,ERR=801,END=802,IOSTAT=IERR) IDTST 818 END IF 819 ! 820 IF ( IDTST .NE. IDSTRI ) GOTO 803 821 ! 822 ! 1.b Open output file 823 ! Page 6 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 824 IF ( IAPROC .EQ. NAPTRK ) THEN 825 OPEN (NDSTO,FILE=FNMPRE(:J)//'track_o.'//FILEXT(:I), & 826 FORM='UNFORMATTED',ERR=810,IOSTAT=IERR) 827 WRITE (NDSTO,ERR=811,IOSTAT=IERR) IDSTRO, FLAGLL, NK, NTH 828 WRITE (NDSTO,ERR=811,IOSTAT=IERR) 0.5*PI-TH(1), -DTH, & 829 (SIG(IK)*TPIINV,IK=1,NK), & 830 (DSIP(IK)*TPIINV,IK=1,NK) 831 END IF 832 ! 833 ! 1.c Initialize maps 834 ! 835 MASK2 = .FALSE. 836 ! 837 END IF 838 ! 839 ! 2. Preparations --------------------------------------------------- * 840 ! 2.a Shift mask arrays 841 ! 842 MASK1 = MASK2 843 MASK2 = .FALSE. 844 ! 845 ! 2.b Set time frame 846 ! 847 TIMEB = TIME 848 TIMEE = TIME 849 CALL TICK21 ( TIMEE , DTOUT ) 850 ! 851 IF ( DSEC21(TIMEE,TOLAST) .LT. 0. ) THEN 852 TIMEE = TOLAST 853 END IF 854 ! 855 ! 3. Loop over input points ----------------------------------------- * 856 ! 857 ! 3.a Read new track point (infinite loop) 858 ! 859 IF ( STOP ) THEN 860 TOLAST = TIME 861 GOTO 399 862 END IF 863 ! 864 DO 865 ! 866 IF ( FORMI ) THEN 867 READ (NDSTI,*,ERR=801,END=390,IOSTAT=IERR) TTIME, XT, YT 868 ELSE 869 READ (NDSTI , ERR=801,END=390,IOSTAT=IERR) TTIME, XT, YT 870 END IF 871 ! 872 ! 3.b Point before time interval 873 ! 874 IF ( DSEC21(TIMEB,TTIME) .LT. 0. ) THEN 875 CYCLE 876 END IF 877 ! 878 ! 3.c Point after time interval 879 ! 880 IF ( DSEC21(TIMEE,TTIME) .GT. 0. ) THEN Page 7 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 881 BACKSPACE (NDSTI) 882 GOTO 399 883 END IF 884 ! 885 ! 3.d Check time in interval 886 ! 887 FLAG1 = DSEC21(TTIME,TIMEE) .GT. RTCHCK*DTOUT 888 FLAG2 = DSEC21(TIMEB,TTIME) .GT. RTCHCK*DTOUT 889 ! 890 ! 3.e Check point coordinates 891 ! 892 ! Find cell that encloses target point (note that the returned 893 ! cell corner indices are adjusted for global wrapping and the 894 ! coordinates are adjusted to avoid branch cut crossings) 895 INGRID = W3GFCL( GSU, XT, YT, IXX, IYY, XX, YY ) 896 IF ( .NOT. INGRID ) THEN 897 CYCLE 898 END IF 899 ! 900 ! Change cell-corners from counter-clockwise to column-major order 901 IX = IXX(4); IY = IYY(4); 902 IXX(4) = IXX(3); IYY(4) = IYY(3); 903 IXX(3) = IX; IYY(3) = IY; 904 ! 905 ! Project onto I-axis 906 RD = DPDX(IYY(1),IXX(1))*(XT-XX(1)) & 907 + DPDY(IYY(1),IXX(1))*(YT-YY(1)) 908 ! 909 ! Collapse to left or right if within tolerance 910 IF ( RD .LT. RDCHCK ) THEN 911 IXX(2) = IXX(1) 912 IXX(4) = IXX(3) 913 ELSE IF ( RD .GT. 1.-RDCHCK ) THEN 914 IXX(1) = IXX(2) 915 IXX(3) = IXX(4) 916 END IF 917 ! 918 ! Project onto J-axis 919 RD = DQDX(IYY(1),IXX(1))*(XT-XX(1)) & 920 + DQDY(IYY(1),IXX(1))*(YT-YY(1)) 921 ! 922 ! Collapse to top or bottom if within tolerance 923 IF ( RD .LT. RDCHCK ) THEN 924 IYY(3) = IYY(1) 925 IYY(4) = IYY(2) 926 ELSE IF ( RD .GT. 1.-RDCHCK ) THEN 927 IYY(1) = IYY(3) 928 IYY(2) = IYY(4) 929 END IF 930 ! 931 ! 3.f Mark the four corner points 932 ! 933 DO J=1, 4 934 ! 935 IX = IXX(J) 936 IY = IYY(J) 937 IF(GTYPE .EQ. UNGTYPE) THEN Page 8 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 938 X = XYB(IX,1) 939 Y = XYB(IX,2) 940 ENDIF 941 MASK1(IY,IX) = MASK1(IY,IX) .OR. FLAG1 942 MASK2(IY,IX) = MASK2(IY,IX) .OR. FLAG2 943 ! 944 END DO 945 ! 946 END DO 947 ! 948 ! 3.g End of input file escape location 949 ! 950 390 CONTINUE 951 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1004) 952 STOP = .TRUE. 953 ! 954 ! 3.h Read end escape location 955 ! 956 399 CONTINUE 957 ! 958 ! 3.h Mask test output 959 ! 960 ! 4. Write data for flagged locations ------------------------------- * 961 ! 962 IT = IT0TRK 963 IROOT = NAPTRK - 1 964 ALLOCATE ( STATUS(MPI_STATUS_SIZE,1) ) 965 ! 966 DO IY=1, NY 967 DO IX=1, NX 968 IF ( MASK1(IY,IX) ) THEN 969 ! 970 IF(GTYPE .EQ. UNGTYPE) THEN 971 X = XYB(IX,1) 972 Y = XYB(IX,2) 973 ELSE 974 X = XGRD(IY,IX) 975 Y = YGRD(IY,IX) 976 ENDIF 977 IT = IT + 1 978 ! 979 ! 4.a Status of point 980 ! 981 IF ( MAPSTA(IY,IX) .EQ. 0 ) THEN 982 IF ( MAPST2(IY,IX) .EQ. 0 ) THEN 983 TSTSTR = 'LND' 984 ELSE 985 TSTSTR = 'XCL' 986 END IF 987 ELSE IF ( MAPSTA(IY,IX) .LT. 0 ) THEN 988 IF ( MAPST2(IY,IX) .EQ. 1 ) THEN 989 TSTSTR = 'ICE' 990 ELSE IF ( MAPST2(IY,IX) .EQ. 2 ) THEN 991 TSTSTR = 'DRY' 992 ELSE 993 TSTSTR = 'DIS' 994 END IF Page 9 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 995 ELSE 996 TSTSTR = 'SEA' 997 END IF 998 ! 999 ! 4.b Determine where point is stored 1000 ! ( land point assumed stored on IAPROC = NAPTRK 1001 ! set to -99 in test output ) 1002 ! 1003 ISEA = MAPFS(IY,IX) 1004 IF ( ISEA .EQ. 0 ) THEN 1005 ISPROC = NAPTRK 1006 ELSE 1007 JSEA = 1 + (ISEA-1)/NAPROC 1008 ISPROC = ISEA - (JSEA-1)*NAPROC 1009 END IF 1010 IFROM = ISPROC - 1 1011 ! 4.c Spectrum is at local processor, but this is not the NAPTRK 1012 ! Send the spectrum to NAPTRK 1013 1014 IF ( ISPROC.EQ.IAPROC .AND. IAPROC.NE.NAPTRK ) THEN 1015 CALL MPI_SEND ( A(1,1,JSEA), NSPEC, MPI_REAL, & 1016 IROOT, IT, MPI_COMM_WAVE, IERR_MPI ) 1017 END IF 1018 ! 1019 ! 4.d This is NAPTRK, perform all output 1020 ! 1021 IF ( IAPROC .EQ. NAPTRK ) THEN 1022 ! 1023 ! 4.e Sea point, prepare data 1024 ! 1025 IF ( TSTSTR .EQ. 'SEA' ) THEN 1026 ! 1027 WX = UA(ISEA) * COS(UD(ISEA)) 1028 WY = UA(ISEA) * SIN(UD(ISEA)) 1029 ! 1030 ! ..... Local spectra 1031 ! 1032 IF ( IAPROC .EQ. ISPROC ) THEN 1033 DO IK=1, NK 1034 DO ITH=1, NTH 1035 SPEC(IK,ITH) = & 1036 TPI*A(ITH,IK,JSEA)*SIG(IK)/CG(IK,ISEA) 1037 END DO 1038 END DO 1039 ! 1040 ! ..... Non-local spectra 1041 ! 1042 ELSE 1043 CALL MPI_RECV (ASPTRK, NSPEC, MPI_REAL,& 1044 IFROM, IT, MPI_COMM_WAVE, & 1045 STATUS, IERR_MPI ) 1046 ! 1047 DO IK=1, NK 1048 DO ITH=1, NTH 1049 SPEC(IK,ITH) = & 1050 TPI*ASPTRK(ITH,IK)*SIG(IK)/CG(IK,ISEA) 1051 END DO Page 10 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 1052 END DO 1053 END IF 1054 ! 1055 ! 4.e Sea point, write general data + spectrum 1056 ! 1057 WRITE (NDSTO,ERR=811,IOSTAT=IERR) & 1058 TIME, X, Y, TSTSTR 1059 WRITE (NDSTO,ERR=811,IOSTAT=IERR) & 1060 DW(ISEA), CX(ISEA), CY(ISEA), WX, WY, & 1061 UST(ISEA), AS(ISEA), SPEC 1062 ! 1063 ! 4.f Non-sea point, write 1064 ! 1065 ELSE 1066 WRITE (NDSTO,ERR=811,IOSTAT=IERR) & 1067 TIME, X, Y, TSTSTR 1068 ! 1069 ! ..... Sea and non-sea points processed 1070 ! 1071 END IF 1072 ! 1073 ! ..... End of action at NAPTRK 1074 ! 1075 END IF 1076 ! 1077 ! ..... Close IF for mask flag (top section 4) 1078 ! 1079 END IF 1080 ! 1081 ! ..... End of loop over map 1082 ! 1083 END DO 1084 END DO 1085 ! 1086 DEALLOCATE ( STATUS ) 1087 ! 1088 GOTO 888 1089 ! 1090 ! Error Escape Locations 1091 ! 1092 800 CONTINUE 1093 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1000) IERR 1094 GOTO 880 1095 ! 1096 801 CONTINUE 1097 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1001) IERR 1098 GOTO 880 1099 ! 1100 802 CONTINUE 1101 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1002) 1102 GOTO 880 1103 ! 1104 803 CONTINUE 1105 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1003) IDSTRI, IDTST 1106 GOTO 880 1107 ! 1108 810 CONTINUE Page 11 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 1109 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1010) IERR 1110 GOTO 880 1111 ! 1112 811 CONTINUE 1113 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,1011) IERR 1114 ! 1115 ! Disabeling output 1116 ! 1117 880 CONTINUE 1118 ATOLAST(:,3) = TIME 1119 ! 1120 888 CONTINUE 1121 ! 1122 RETURN 1123 ! 1124 ! Formats 1125 ! 1126 1000 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1127 ' INPUT FILE WITH TRACK DATA NOT FOUND ', & 1128 '(FILE track_i.ww3, IOSTAT =',I6,')'/ & 1129 ' TRACK OUTPUT DISABLED '/) 1130 1001 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1131 ' ERROR IN READING FILE track_i.ww3, IOSTAT =',I6/ & 1132 ' (ADITIONAL) TRACK OUTPUT DISABLED '/) 1133 1002 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1134 ' PREMATURE END OF FILE track_i.ww3'/ & 1135 ' TRACK OUTPUT DISABLED '/) 1136 1003 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1137 ' UNEXPECTED CONTENTS OF OF FILE track_i.ww3'/ & 1138 ' EXPECTED : ',A/ & 1139 ' FOUND : ',A/ & 1140 ' TRACK OUTPUT DISABLED '/) 1141 1004 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1142 ' END OF FILE track_i.ww3'/) 1143 ! 1144 1010 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1145 ' ERROR IN OPENING OUTPUT FILE ', & 1146 '(FILE track_o.ww3, IOSTAT =',I6,')'/ & 1147 ' TRACK OUTPUT DISABLED '/) 1148 1011 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOTR : '/ & 1149 ' ERROR IN WRITING TO FILE track_o.ww3, IOSTAT =',I6/ & 1150 ' (ADITIONAL) TRACK OUTPUT DISABLED '/) 1151 ! 1152 !/ 1153 !/ End of W3IOTR ----------------------------------------------------- / 1154 !/ 1155 END SUBROUTINE W3IOTR Page 12 Source Listing W3IOTR 2014-09-16 16:49 Entry Points w3iotrmd.f90 ENTRY POINTS Name w3iotrmd_mp_w3iotr_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1000 Label 588 555 1001 Label 592 559 1002 Label 595 563 1003 Label 598 567 1004 Label 603 413 1010 Label 606 571 1011 Label 610 575 390 Label 412 329,331 399 Label 418 323,344 800 Label 554 274,278 801 Label 558 275,279,329,331 802 Label 562 275,279 803 Label 566 282 810 Label 570 288 811 Label 574 289,290,519,521,528 880 Label 579 556,560,564,568,572 888 Label 582 550 A Dummy 68 R(4) 4 3 0 ARG,IN 477,498 ABS Func 235 scalar 235,236 ADTOUT Local 182 R(4) 4 1 1 PTR 230 AS Local 178 R(4) 4 1 1 PTR 178,523 ASPTRK Local 210 R(4) 4 2 0 252,505,512 ATOLAST Local 181 I(4) 4 2 1 PTR 229,580 CG Local 178 R(4) 4 2 1 PTR 178,498,512 CONSTANTS Module 164 164 COS Func 489 scalar 489 CX Local 178 R(4) 4 1 1 PTR 178,522 CY Local 178 R(4) 4 1 1 PTR 178,522 DPDX Local 173 R(4) 4 2 1 PTR 173,368 DPDY Local 173 R(4) 4 2 1 PTR 173,369 DQDX Local 173 R(4) 4 2 1 PTR 173,381 DQDY Local 173 R(4) 4 2 1 PTR 173,382 DSEC21 Func 313 R(4) 4 scalar 313,336,342,349,350 DSIP Local 174 R(4) 4 1 1 PTR 174,292 DTH Local 174 R(4) 4 scalar PTR 174,290 DTOUT Local 211 R(4) 4 scalar 230,311,349,350 DW Local 178 R(4) 4 1 1 PTR 178,522 FACTOR Local 210 R(4) 4 scalar 247,249 FILEXT Local 174 CHAR 10 scalar PTR 174,267,273,277,287 FLAG1 Local 213 L(4) 4 scalar 349,403 FLAG2 Local 213 L(4) 4 scalar 350,404 FLAGLL Local 172 L(4) 4 scalar 172,246,289 FNMPRE Local 183 CHAR 80 scalar 183,268,273,277,287 FORMI Local 213 L(4) 4 scalar 234,272,328 Page 13 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References GSU Local 172 W3GDATMD^W3GSRUMD^T_GSU 8 scalar PTR 172,357 GTYPE Local 176 I(4) 4 scalar PTR 176,238,399,432 I Local 205 I(4) 4 scalar 267,273,277,287 IAPROC Local 180 I(4) 4 scalar PTR 180,243,286,413,476,483,494,555,55 9,563,567,571,575 ICLOSE Local 172 I(4) 4 scalar PTR 172 IDSTRI Param 282 CHAR 34 scalar PRIV 63,282,567 IDSTRO Param 289 CHAR 34 scalar PRIV 64,289 IDTST Local 215 CHAR 34 scalar 275,279,282,567 IERR Local 202 I(4) 4 scalar 274,275,278,279,288,289,290,329,33 1,519,521,528,555,559,571,575 IERR_MPI Local 207 I(4) 4 scalar 255,257,478,507 IFROM Local 207 I(4) 4 scalar 472,506 IK Local 203 I(4) 4 scalar 291,292,495,497,498,509,511,512 IMOD Dummy 68 I(4) 4 scalar ARG,IN 224,225,226,227,232 INGRID Local 213 L(4) 4 scalar 357,358 IPASS Local 181 I(4) 4 scalar PTR 244,263 IROOT Local 207 I(4) 4 scalar 425,478 IRQTR Local 184 I(4) 4 1 1 PTR 184,255,257 ISEA Local 205 I(4) 4 scalar 465,466,469,470,489,490,498,512,52 2,523 ISPROC Local 202 I(4) 4 scalar 243,467,470,472,476,494 IT Local 207 I(4) 4 scalar 424,439,478,506 IT0TRK Local 184 I(4) 4 scalar PTR 184,424 ITH Local 203 I(4) 4 scalar 496,497,498,510,511,512 IX Local 203 I(4) 4 scalar 363,365,397,400,401,403,404,429,43 0,433,434,436,437,443,444,449,450, 452,465 IX1 Local 204 I(4) 4 scalar IX2 Local 204 I(4) 4 scalar IXX Local 205 I(4) 4 1 4 357,363,364,365,368,369,373,374,37 6,377,381,382,397 IY Local 203 I(4) 4 scalar 363,365,398,403,404,428,430,436,43 7,443,444,449,450,452,465 IY1 Local 204 I(4) 4 scalar IY2 Local 204 I(4) 4 scalar IYY Local 205 I(4) 4 1 4 357,363,364,365,368,369,381,382,38 6,387,389,390,398 J Local 205 I(4) 4 scalar 268,273,277,287,395,397,398 JSEA Local 205 I(4) 4 scalar 469,470,477,498 LEN_TRIM Func 267 scalar 267,268 MAPFS Local 174 I(4) 4 2 1 PTR 174,465 MAPST2 Local 173 I(4) 4 2 1 PTR 173,444,450,452 MAPSTA Local 173 I(4) 4 2 1 PTR 173,443,449 MASK1 Local 182 L(4) 4 2 1 PTR 182,304,403,430 MASK2 Local 183 L(4) 4 2 1 PTR 183,297,304,305,404 MAXX Local 176 R(4) 4 scalar PTR 176,239 MAXY Local 176 R(4) 4 scalar PTR 176,240 MPIPRIV1 Common 532 28 MPIPRIV2 Common 534 24 MPIPRIVC Common 537 2 MPI_2COMPLEX Param 332 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 338 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 334 I(4) 4 scalar Page 14 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_2INT Param 415 I(4) 4 scalar MPI_2INTEGER Param 330 I(4) 4 scalar MPI_2REAL Param 336 I(4) 4 scalar MPI_ADDRESS_KIND Param 372 I(4) 4 scalar MPI_ANY_SOURCE Param 300 I(4) 4 scalar MPI_ANY_TAG Param 302 I(4) 4 scalar MPI_APPNUM Param 269 I(4) 4 scalar MPI_ARGVS_NULL Scalar 83 CHAR 1 2 1 COM MPI_ARGV_NULL Scalar 84 CHAR 1 1 1 COM MPI_BAND Param 217 I(4) 4 scalar MPI_BOR Param 221 I(4) 4 scalar MPI_BOTTOM Scalar 517 I(4) 4 scalar COM MPI_BSEND_OVERHEAD Param 296 I(4) 4 scalar MPI_BXOR Param 225 I(4) 4 scalar MPI_BYTE Param 342 I(4) 4 scalar MPI_CART Param 308 I(4) 4 scalar MPI_CHAR Param 375 I(4) 4 scalar MPI_CHARACTER Param 340 I(4) 4 scalar MPI_COMBINER_CONTIGUOUS Param 423 I(4) 4 scalar MPI_COMBINER_DARRAY Param 445 I(4) 4 scalar MPI_COMBINER_DUP Param 421 I(4) 4 scalar MPI_COMBINER_F90_COMPLEX Param 449 I(4) 4 scalar MPI_COMBINER_F90_INTEGER Param 451 I(4) 4 scalar MPI_COMBINER_F90_REAL Param 447 I(4) 4 scalar MPI_COMBINER_HINDEXED Param 435 I(4) 4 scalar MPI_COMBINER_HINDEXED_INTE GER Param 433 I(4) 4 scalar MPI_COMBINER_HVECTOR Param 429 I(4) 4 scalar MPI_COMBINER_HVECTOR_INTEG ER Param 427 I(4) 4 scalar MPI_COMBINER_INDEXED Param 431 I(4) 4 scalar MPI_COMBINER_INDEXED_BLOCK Param 437 I(4) 4 scalar MPI_COMBINER_NAMED Param 419 I(4) 4 scalar MPI_COMBINER_RESIZED Param 453 I(4) 4 scalar MPI_COMBINER_STRUCT Param 441 I(4) 4 scalar MPI_COMBINER_STRUCT_INTEGE R Param 439 I(4) 4 scalar MPI_COMBINER_SUBARRAY Param 443 I(4) 4 scalar MPI_COMBINER_VECTOR Param 425 I(4) 4 scalar MPI_COMM_DUP_FN Subr 521 scalar MPI_COMM_NULL Param 239 I(4) 4 scalar MPI_COMM_NULL_COPY_FN Subr 522 scalar MPI_COMM_NULL_DELETE_FN Subr 521 scalar MPI_COMM_SELF Param 235 I(4) 4 scalar MPI_COMM_WAVE Local 179 I(4) 4 scalar PTR 179,478,506 MPI_COMM_WORLD Param 233 I(4) 4 scalar MPI_COMPLEX Param 318 I(4) 4 scalar MPI_COMPLEX16 Param 368 I(4) 4 scalar MPI_COMPLEX32 Param 370 I(4) 4 scalar MPI_COMPLEX8 Param 366 I(4) 4 scalar MPI_CONGRUENT Param 201 I(4) 4 scalar MPI_CONVERSION_FN_NULL Subr 527 scalar MPI_DATATYPE_NULL Param 249 I(4) 4 scalar 359 MPI_DISPLACEMENT_CURRENT Param 515 I(8) 8 scalar MPI_DISTRIBUTE_BLOCK Param 507 I(4) 4 scalar Page 15 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_DISTRIBUTE_CYCLIC Param 509 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 513 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 511 I(4) 4 scalar MPI_DOUBLE Param 397 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 320 I(4) 4 scalar MPI_DOUBLE_INT Param 409 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 326 I(4) 4 scalar MPI_DUP_FN Subr 518 scalar MPI_ERRCODES_IGNORE Scalar 82 I(4) 4 1 1 COM MPI_ERRHANDLER_NULL Param 253 I(4) 4 scalar MPI_ERROR Param 76 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 195 I(4) 4 scalar MPI_ERRORS_RETURN Param 197 I(4) 4 scalar MPI_ERR_ACCESS Param 189 I(4) 4 scalar MPI_ERR_AMODE Param 173 I(4) 4 scalar MPI_ERR_ARG Param 109 I(4) 4 scalar MPI_ERR_ASSERT Param 131 I(4) 4 scalar MPI_ERR_BAD_FILE Param 163 I(4) 4 scalar MPI_ERR_BASE Param 97 I(4) 4 scalar MPI_ERR_BUFFER Param 115 I(4) 4 scalar MPI_ERR_COMM Param 137 I(4) 4 scalar MPI_ERR_CONVERSION Param 193 I(4) 4 scalar MPI_ERR_COUNT Param 93 I(4) 4 scalar MPI_ERR_DIMS Param 179 I(4) 4 scalar MPI_ERR_DISP Param 125 I(4) 4 scalar MPI_ERR_DUP_DATAREP Param 117 I(4) 4 scalar MPI_ERR_FILE Param 91 I(4) 4 scalar MPI_ERR_FILE_EXISTS Param 133 I(4) 4 scalar MPI_ERR_FILE_IN_USE Param 165 I(4) 4 scalar MPI_ERR_GROUP Param 145 I(4) 4 scalar MPI_ERR_INFO Param 159 I(4) 4 scalar MPI_ERR_INFO_KEY Param 103 I(4) 4 scalar MPI_ERR_INFO_NOKEY Param 129 I(4) 4 scalar MPI_ERR_INFO_VALUE Param 153 I(4) 4 scalar MPI_ERR_INTERN Param 185 I(4) 4 scalar MPI_ERR_IN_STATUS Param 101 I(4) 4 scalar MPI_ERR_IO Param 187 I(4) 4 scalar MPI_ERR_KEYVAL Param 139 I(4) 4 scalar MPI_ERR_LASTCODE Param 121 I(4) 4 scalar MPI_ERR_LOCKTYPE Param 105 I(4) 4 scalar MPI_ERR_NAME Param 141 I(4) 4 scalar MPI_ERR_NOT_SAME Param 155 I(4) 4 scalar MPI_ERR_NO_MEM Param 161 I(4) 4 scalar MPI_ERR_NO_SPACE Param 191 I(4) 4 scalar MPI_ERR_NO_SUCH_FILE Param 181 I(4) 4 scalar MPI_ERR_OP Param 107 I(4) 4 scalar MPI_ERR_OTHER Param 87 I(4) 4 scalar MPI_ERR_PENDING Param 135 I(4) 4 scalar MPI_ERR_PORT Param 127 I(4) 4 scalar MPI_ERR_QUOTA Param 171 I(4) 4 scalar MPI_ERR_RANK Param 177 I(4) 4 scalar MPI_ERR_READ_ONLY Param 111 I(4) 4 scalar MPI_ERR_REQUEST Param 143 I(4) 4 scalar MPI_ERR_RMA_CONFLICT Param 99 I(4) 4 scalar MPI_ERR_RMA_SYNC Param 157 I(4) 4 scalar Page 16 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_ROOT Param 175 I(4) 4 scalar MPI_ERR_SERVICE Param 183 I(4) 4 scalar MPI_ERR_SIZE Param 113 I(4) 4 scalar MPI_ERR_SPAWN Param 95 I(4) 4 scalar MPI_ERR_TAG Param 151 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 147 I(4) 4 scalar MPI_ERR_TRUNCATE Param 123 I(4) 4 scalar MPI_ERR_TYPE Param 149 I(4) 4 scalar MPI_ERR_UNKNOWN Param 167 I(4) 4 scalar MPI_ERR_UNSUPPORTED_DATARE P Param 119 I(4) 4 scalar MPI_ERR_UNSUPPORTED_OPERAT ION Param 169 I(4) 4 scalar MPI_ERR_WIN Param 89 I(4) 4 scalar MPI_FILE_NULL Param 243 I(4) 4 scalar MPI_FLOAT Param 395 I(4) 4 scalar MPI_FLOAT_INT Param 407 I(4) 4 scalar MPI_GRAPH Param 306 I(4) 4 scalar MPI_GROUP_EMPTY Param 237 I(4) 4 scalar MPI_GROUP_NULL Param 245 I(4) 4 scalar MPI_HOST Param 259 I(4) 4 scalar MPI_IDENT Param 199 I(4) 4 scalar MPI_INFO_NULL Param 255 I(4) 4 scalar MPI_INT Param 387 I(4) 4 scalar MPI_INTEGER Param 328 I(4) 4 scalar MPI_INTEGER1 Param 350 I(4) 4 scalar MPI_INTEGER16 Param 358 I(4) 4 scalar MPI_INTEGER2 Param 352 I(4) 4 scalar MPI_INTEGER4 Param 354 I(4) 4 scalar MPI_INTEGER8 Param 356 I(4) 4 scalar MPI_IN_PLACE Scalar 517 I(4) 4 scalar COM MPI_IO Param 261 I(4) 4 scalar MPI_KEYVAL_INVALID Param 294 I(4) 4 scalar MPI_LAND Param 215 I(4) 4 scalar MPI_LASTUSEDCODE Param 267 I(4) 4 scalar MPI_LB Param 346 I(4) 4 scalar MPI_LOCK_EXCLUSIVE Param 314 I(4) 4 scalar MPI_LOCK_SHARED Param 316 I(4) 4 scalar MPI_LOGICAL Param 322 I(4) 4 scalar MPI_LONG Param 391 I(4) 4 scalar MPI_LONG_DOUBLE Param 399 I(4) 4 scalar MPI_LONG_DOUBLE_INT Param 417 I(4) 4 scalar MPI_LONG_INT Param 411 I(4) 4 scalar MPI_LONG_LONG Param 405 I(4) 4 scalar MPI_LONG_LONG_INT Param 401 I(4) 4 scalar MPI_LOR Param 219 I(4) 4 scalar MPI_LXOR Param 223 I(4) 4 scalar MPI_MAX Param 207 I(4) 4 scalar MPI_MAXLOC Param 229 I(4) 4 scalar MPI_MAX_DATAREP_STRING Param 289 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 277 I(4) 4 scalar MPI_MAX_INFO_KEY Param 283 I(4) 4 scalar MPI_MAX_INFO_VAL Param 285 I(4) 4 scalar MPI_MAX_OBJECT_NAME Param 281 I(4) 4 scalar MPI_MAX_PORT_NAME Param 279 I(4) 4 scalar Page 17 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_MAX_PROCESSOR_NAME Param 287 I(4) 4 scalar MPI_MIN Param 209 I(4) 4 scalar MPI_MINLOC Param 227 I(4) 4 scalar MPI_MODE_APPEND Param 493 I(4) 4 scalar MPI_MODE_CREATE Param 489 I(4) 4 scalar MPI_MODE_DELETE_ON_CLOSE Param 485 I(4) 4 scalar MPI_MODE_EXCL Param 491 I(4) 4 scalar MPI_MODE_NOCHECK Param 461 I(4) 4 scalar MPI_MODE_NOPRECEDE Param 467 I(4) 4 scalar MPI_MODE_NOPUT Param 465 I(4) 4 scalar MPI_MODE_NOSTORE Param 463 I(4) 4 scalar MPI_MODE_NOSUCCEED Param 469 I(4) 4 scalar MPI_MODE_RDONLY Param 479 I(4) 4 scalar MPI_MODE_RDWR Param 481 I(4) 4 scalar MPI_MODE_SEQUENTIAL Param 495 I(4) 4 scalar MPI_MODE_UNIQUE_OPEN Param 487 I(4) 4 scalar MPI_MODE_WRONLY Param 483 I(4) 4 scalar MPI_NULL_COPY_FN Subr 518 scalar MPI_NULL_DELETE_FN Subr 518 scalar MPI_OFFSET_KIND Param 372 I(4) 4 scalar MPI_OP_NULL Param 247 I(4) 4 scalar MPI_ORDER_C Param 503 I(4) 4 scalar MPI_ORDER_FORTRAN Param 505 I(4) 4 scalar MPI_PACKED Param 348 I(4) 4 scalar MPI_PROC_NULL Param 298 I(4) 4 scalar MPI_PROD Param 213 I(4) 4 scalar MPI_REAL Param 324 I(4) 4 scalar 477,505 MPI_REAL16 Param 364 I(4) 4 scalar MPI_REAL4 Param 360 I(4) 4 scalar MPI_REAL8 Param 362 I(4) 4 scalar MPI_RECV Subr 505 505 MPI_REPLACE Param 231 I(4) 4 scalar MPI_REQUEST_NULL Param 251 I(4) 4 scalar MPI_ROOT Param 304 I(4) 4 scalar MPI_SEEK_CUR Param 499 I(4) 4 scalar MPI_SEEK_END Param 501 I(4) 4 scalar MPI_SEEK_SET Param 497 I(4) 4 scalar MPI_SEND Subr 477 477 MPI_SHORT Param 383 I(4) 4 scalar MPI_SHORT_INT Param 413 I(4) 4 scalar MPI_SIGNED_CHAR Param 377 I(4) 4 scalar MPI_SIMILAR Param 203 I(4) 4 scalar MPI_SOURCE Param 76 I(4) 4 scalar MPI_STARTALL Subr 255 255 MPI_STATUSES_IGNORE Scalar 81 I(4) 4 2 5 COM MPI_STATUS_IGNORE Scalar 80 I(4) 4 1 5 COM MPI_STATUS_SIZE Param 78 I(4) 4 scalar 80,81,256,426 MPI_SUBVERSION Param 312 I(4) 4 scalar MPI_SUCCESS Param 85 I(4) 4 scalar MPI_SUM Param 211 I(4) 4 scalar MPI_TAG Param 76 I(4) 4 scalar MPI_TAG_UB Param 257 I(4) 4 scalar MPI_THREAD_FUNNELED Param 473 I(4) 4 scalar MPI_THREAD_MULTIPLE Param 477 I(4) 4 scalar MPI_THREAD_SERIALIZED Param 475 I(4) 4 scalar Page 18 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_THREAD_SINGLE Param 471 I(4) 4 scalar MPI_TYPECLASS_COMPLEX Param 459 I(4) 4 scalar MPI_TYPECLASS_INTEGER Param 457 I(4) 4 scalar MPI_TYPECLASS_REAL Param 455 I(4) 4 scalar MPI_TYPE_DUP_FN Subr 525 scalar MPI_TYPE_NULL_COPY_FN Subr 526 scalar MPI_TYPE_NULL_DELETE_FN Subr 525 scalar MPI_UB Param 344 I(4) 4 scalar MPI_UNDEFINED Param 291 I(4) 4 scalar MPI_UNDEFINED_RANK Param 291 I(4) 4 scalar MPI_UNEQUAL Param 205 I(4) 4 scalar MPI_UNIVERSE_SIZE Param 265 I(4) 4 scalar MPI_UNSIGNED Param 389 I(4) 4 scalar MPI_UNSIGNED_CHAR Param 379 I(4) 4 scalar MPI_UNSIGNED_LONG Param 393 I(4) 4 scalar MPI_UNSIGNED_LONG_LONG Param 403 I(4) 4 scalar MPI_UNSIGNED_SHORT Param 385 I(4) 4 scalar MPI_VERSION Param 310 I(4) 4 scalar MPI_WAITALL Subr 257 257 MPI_WCHAR Param 381 I(4) 4 scalar MPI_WIN_BASE Param 271 I(4) 4 scalar MPI_WIN_DISP_UNIT Param 275 I(4) 4 scalar MPI_WIN_DUP_FN Subr 523 scalar MPI_WIN_NULL Param 241 I(4) 4 scalar MPI_WIN_NULL_COPY_FN Subr 524 scalar MPI_WIN_NULL_DELETE_FN Subr 523 scalar MPI_WIN_SIZE Param 273 I(4) 4 scalar MPI_WTICK Func 519 R(8) 8 scalar MPI_WTIME Func 519 R(8) 8 scalar MPI_WTIME_IS_GLOBAL Param 263 I(4) 4 scalar NAPERR Local 180 I(4) 4 scalar PTR 180,413,555,559,563,567,571,575 NAPROC Local 180 I(4) 4 scalar PTR 180,469,470 NAPTRK Local 180 I(4) 4 scalar PTR 180,286,425,467,476,483 NDSE Local 180 I(4) 4 scalar PTR 180,224,225,226,227,232,413,555,55 9,563,567,571,575 NDSINP Dummy 68 I(4) 4 scalar ARG,IN 234,235 NDSOUT Dummy 68 I(4) 4 scalar ARG,IN 236 NDST Local 180 I(4) 4 scalar PTR 180,224,225,226,227,232 NDSTI Local 202 I(4) 4 scalar 235,273,275,277,279,329,331,343 NDSTO Local 202 I(4) 4 scalar 236,287,289,290,519,521,528 NK Local 171 I(4) 4 scalar PTR 171,196,210,289,291,292,495,509 NRQTR Local 184 I(4) 4 scalar PTR 184,254,255,256,257 NSEA Local 171 I(4) 4 scalar PTR 171 NSEAL Local 171 I(4) 4 scalar PTR 171,196 NSPEC Local 171 I(4) 4 scalar PTR 171,477,505 NTH Local 171 I(4) 4 scalar PTR 171,196,210,289,496,510 NX Local 171 I(4) 4 scalar PTR 171,429 NY Local 171 I(4) 4 scalar PTR 171,428 O3INIT Local 182 L(4) 4 scalar PTR 182,232 OTYPE Param 201 I(4) 4 scalar 229,230 PI Param 290 R(4) 4 scalar 290 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar RD Local 209 R(4) 4 scalar 368,372,375,381,385,388 RDCHCK Local 212 R(4) 4 scalar 212,372,375,385,388 Page 19 Source Listing W3IOTR 2014-09-16 16:49 Symbol Table w3iotrmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References RTCHCK Local 212 R(4) 4 scalar 212,349,350 SIG Local 174 R(4) 4 1 1 PTR 174,291,498,512 SIN Func 490 scalar 490 SPEC Local 210 R(4) 4 2 0 497,511,523 STATUS Local 208 I(4) 4 2 1 ALC 256,257,258,426,507,548 STOP Local 182 L(4) 4 scalar PTR 182,321,414 TH Local 174 R(4) 4 1 1 PTR 174,290 TICK21 Subr 311 311 TIME Local 177 I(4) 4 1 1 PTR 177,309,310,322,520,529,580 TIMEB Local 203 I(4) 4 1 2 309,336,350 TIMEE Local 203 I(4) 4 1 2 310,311,313,314,342,349 TOLAST Local 206 I(4) 4 1 2 229,313,314,322 TPI Param 498 R(4) 4 scalar 498,512 TPIINV Param 291 R(4) 4 scalar 291,292 TSTSTR Local 214 CHAR 3 scalar 445,447,451,453,455,458,487,520,52 9 TTIME Local 204 I(4) 4 1 2 329,331,336,342,349,350 UA Local 178 R(4) 4 1 1 PTR 178,489,490 UD Local 178 R(4) 4 1 1 PTR 178,489,490 UNGTYPE Param 176 I(4) 4 scalar 176,238,399,432 UST Local 177 R(4) 4 1 1 PTR 177,523 W3ADATMD Module 168 168,178,179 W3DMO3 Subr 169 169,232 W3GDATMD Module 166 166,171,176 W3GFCL Local 175 scalar 175,357 W3GFCL_R4 Func 357 L(4) 4 scalar PRIV 357 W3GSRUMD Module 175 175 W3IOTR Subr 68 W3ODATMD Module 169 169,180,184 W3SETA Subr 168 168,226 W3SETG Subr 166 166,225 W3SETO Subr 169 169,224 W3SETW Subr 167 167,227 W3TIMEMD Module 186 186 W3WDATMD Module 167 167,177 WX Local 209 R(4) 4 scalar 489,522 WY Local 209 R(4) 4 scalar 490,522 X Local 209 R(4) 4 scalar 400,433,436,520,529 XGRD Local 172 R(4) 4 2 1 PTR 172,436 XN Local 209 R(4) 4 scalar 239 XT Local 209 R(4) 4 scalar 329,331,357,368,381 XX Local 211 R(4) 4 1 4 357,368,381 XYB Local 176 R(8) 8 2 1 PTR 176,400,401,433,434 Y Local 209 R(4) 4 scalar 401,434,437,520,529 YGRD Local 172 R(4) 4 2 1 PTR 172,437 YN Local 209 R(4) 4 scalar 240 YT Local 209 R(4) 4 scalar 329,331,357,369,382 YY Local 211 R(4) 4 1 4 357,369,382 Page 20 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 1156 !/ 1157 !/ End of module W3IOTRMD -------------------------------------------- / 1158 !/ 1159 END MODULE W3IOTRMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References VERTRK Param 61 CHAR 10 scalar PRIV 61 W3IOTRMD Module 2 Page 21 Source Listing W3IOTR 2014-09-16 16:49 Subprograms/Common Blocks w3iotrmd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References MPIPRIV1 Common 532 28 MPIPRIV2 Common 534 24 MPIPRIVC Common 537 2 W3IOTR Subr 68 W3IOTRMD Module 2 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 cc_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 -auto no -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 _OPENMP=201107 -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __SSE__ -D __MMX__ -D __AVX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl Page 22 Source Listing W3IOTR 2014-09-16 16:49 w3iotrmd.f90 no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals 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 -free -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 -openmp -O2 no -pad_source -real_size 32 no -recursive -reentrancy threaded 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/tbb/include/,/usr/include/,./,/usrx/local/intel/impi/4.0.3.008/intel64/include/, /usrx/local/intel/impi/4.0.3.008/intel64/include/,/usrx/local/intel/composerxe/mkl/include/,/usrx/local/intel/composerxe/tbb/include/, /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/,/gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/, /usr/local/include/,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/,/usr/include/,/usr/include/ -list filename : w3iotrmd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100