Page 1 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3IORSMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 14-Nov-2013 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ See subroutine for update log. 12 !/ 13 ! 1. Purpose : 14 ! 15 ! Read/write restart files. 16 ! 17 ! 2. Variables and types : 18 ! 19 ! Name Type Scope Description 20 ! ---------------------------------------------------------------- 21 ! VERINI C*10 Private Restart file version number. 22 ! IDSTR C*26 Private Restart file UD string. 23 ! ---------------------------------------------------------------- 24 ! 25 ! 3. Subroutines and functions : 26 ! 27 ! Name Type Scope Description 28 ! ---------------------------------------------------------------- 29 ! W3IORS Subr. Public Read/write restart files. 30 ! ---------------------------------------------------------------- 31 ! 32 ! 4. Subroutines and functions used : 33 ! 34 ! Name Type Module Description 35 ! ---------------------------------------------------------------- 36 ! W3SETO, W3SETG, W3SETW, W3DIMW 37 ! Subr. W3xDATMD Manage data structures. 38 ! STRACE Subr. W3SERVMD Subroutine tracing. (!/S) 39 ! EXTCDE Subr. W3SERVMD Abort program with exit code. 40 ! MPI_STARTALL, MPI_WAITALL (!/MPI) 41 ! Subr. MPI persistent communication routines 42 ! ---------------------------------------------------------------- 43 ! 44 ! 5. Remarks : 45 ! 46 ! 6. Switches : 47 ! 48 ! See also routine. 49 ! 50 ! 7. Source code : 51 ! 52 !/ ------------------------------------------------------------------- / 53 PUBLIC 54 !/ 55 !/ Private parameter statements (ID strings) 56 !/ 57 CHARACTER(LEN=10), PARAMETER, PRIVATE :: VERINI = 'III 3.01 ' Page 2 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 58 CHARACTER(LEN=26), PARAMETER, PRIVATE :: & 59 IDSTR = 'WAVEWATCH III RESTART FILE' 60 !/ 61 CONTAINS 62 !/ ------------------------------------------------------------------- / 63 SUBROUTINE W3IORS ( INXOUT, NDSR, DUMFPI, INTYPE, IMOD ) 64 !/ 65 !/ +-----------------------------------+ 66 !/ | WAVEWATCH III NOAA/NCEP | 67 !/ | H. L. Tolman | 68 !/ | FORTRAN 90 | 69 !/ | Last update : 14-Nov-2013 | 70 !/ +-----------------------------------+ 71 !/ 72 !/ 12-Jan-1999 : Final FORTRAN 77 ( version 1.18 ) 73 !/ 27-Dec-1999 : Upgrade to FORTRAN 90 ( version 2.00 ) 74 !/ 30-Apr-2002 : Add ice for transparencies. ( version 2.20 ) 75 !/ 13-Nov-2002 : Add stress as vector. ( version 3.00 ) 76 !/ 19-Aug-2003 : Output server options added. ( version 3.04 ) 77 !/ 09-Dec-2004 : Multiple grid version. ( version 3.06 ) 78 !/ 24-Jun-2005 : Adding MAPST2. ( version 3.07 ) 79 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 80 !/ 05-Jul-2006 : Consolidate stress arrays. ( version 3.09 ) 81 !/ 08-May-2007 : Starting from calm as an option. ( version 3.11 ) 82 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 83 !/ 22-Jun-2007 : Dedicated output processes. ( version 3.11 ) 84 !/ 15-Apr-2008 : Clean up for distribution. ( version 3.14 ) 85 !/ 21-Apr-2008 : Remove PGI bug internal files. ( version 3.14 ) 86 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 87 !/ 30-Oct-2009 : Output file name with 3 digit id. ( version 3.14 ) 88 !/ (W. E. Rogers, NRL) 89 !/ 14-Nov-2013 : Remove cold start init. UST(DIR). ( version 4.13 ) 90 !/ 91 !/ Copyright 2009-2013 National Weather Service (NWS), 92 !/ National Oceanic and Atmospheric Administration. All rights 93 !/ reserved. WAVEWATCH III is a trademark of the NWS. 94 !/ No unauthorized use without permission. 95 !/ 96 ! 1. Purpose : 97 ! 98 ! Reads/writes restart files. 99 ! 100 ! 2. Method : 101 ! 102 ! The file is opened within the routine, the name is pre-defined 103 ! and the unit number is given in the parameter list. The restart 104 ! file is written using UNFORMATTED write statements. The routine 105 ! generates new names when called more than once. File names are : 106 ! 107 ! restart000.FILEXT 108 ! restart001.FILEXT 109 ! restart002.FILEXT etc. 110 ! 111 ! The file to be read thus always is unnumbered, whereas all 112 ! written files are automatically numbered. 113 ! 114 ! 3. Parameters : Page 3 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 115 ! 116 ! Parameter list 117 ! ---------------------------------------------------------------- 118 ! INXOUT C*(*) I Test string for read/write, valid are: 119 ! 'READ' Reading of a restart file. 120 ! 'HOT' Writing a full restart from the model. 121 ! 'COLD' Writing a cold start file. 122 ! 'WIND' Initialize fields using first wind 123 ! field. 124 ! 'CALM' Starting from calm conditions. 125 ! NDSR Int. I/O File unit number. 126 ! DUMFPI Real I Dummy values for FPIS for cold start. 127 ! INTYPE Int. O Type of input field, 128 ! 0 : cold start, 129 ! 1 : cold start with fetch-limited spectra, 130 ! 2 : full restart, 131 ! 3 : for writing file. 132 ! 4 : starting from calm. 133 ! IMOD Int. I Optional grid number, defaults to 1. 134 ! ---------------------------------------------------------------- 135 ! 136 ! 4. Subroutines used : 137 ! 138 ! See module documentation. 139 ! 140 ! 5. Called by : 141 ! 142 ! Name Type Module Description 143 ! ---------------------------------------------------------------- 144 ! W3INIT Subr. W3INITMD Wave model initialization routine. 145 ! W3WAVE Subr. W3WAVEMD Actual wave model routine. 146 ! WW3_STRT Prog. N/A Initial conditions program. 147 ! ---------------------------------------------------------------- 148 ! 149 ! 6. Error messages : 150 ! 151 ! Tests on INXOUT, file status and on array dimensions. 152 ! 153 ! 7. Remarks : 154 ! 155 ! - MAPSTA is dumped as it contains information on inactive points. 156 ! Note that the original MAPSTA is dumped in the model def. file 157 ! for use in the initial conditions (and output) programs. 158 ! - Note that MAPSTA and MAPST2 data is combinded in the file. 159 ! - The depth is recalculated in a write to avoid floting point 160 ! errors in W3STRT. 161 ! - Fields and field info read by all, written by las processor 162 ! only. 163 ! - The MPP version of the model will perform a gather here to 164 ! maximize hiding of communication with IO. 165 ! 166 ! 8. Structure : 167 ! 168 ! +---------------------------------------------------------------+ 169 ! | initialisations | 170 ! | test INXOUT | 171 ! | open file | Page 4 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 172 ! +---------------------------------------------------------------| 173 ! | WRITE ? | 174 ! | Y N | 175 ! |-------------------------------|-------------------------------| 176 ! | Write identifiers and | Write identifiers and | 177 ! | dimensions. | dimensions. | 178 ! | | Check ident. and dimensions. | 179 ! +-------------------------------+-------------------------------| 180 ! | Full restart ? | 181 ! | Y N | 182 ! |-------------------------------|-------------------------------| 183 ! | read/write/test time | | 184 ! +-------------------------------+-------------------------------| 185 ! | WRITE ? | 186 ! | Y N | 187 ! |-------------------------------|-------------------------------| 188 ! | TYPE = 'WIND' ? | TYPE = 'WIND' ? | 189 ! | Y N | Y N | 190 ! |---------------|---------------|---------------|---------------| 191 ! | close file | write spectra | gen. fetch-l. | read spectra | 192 ! | RETURN | | spectra. | | 193 ! |---------------+---------------+---------------+---------------| 194 ! | WRITE ? | 195 ! | Y N | 196 ! |-------------------------------|-------------------------------| 197 ! | TYPE = 'FULL' ? | TYPE = 'FULL' ? | 198 ! | Y N | Y N | 199 ! |---------------|---------------|---------------|---------------| 200 ! | write level & | ( prep. level | read level & | initalize l.& | 201 ! | (ice) map & | for test | (ice) map.& | times | 202 ! | times | output ) | times | ( no ice ) | 203 ! +---------------+---------------+---------------+-------------- + 204 ! 205 ! 9. Switches : 206 ! 207 ! !/SEED Linear input / seeding option. 208 ! !/LNx 209 ! 210 ! !/SHRD Switch for shared / distributed memory architecture. 211 ! !/DIST Id. 212 ! !/MPI Id. 213 ! 214 ! !/LRBn Word length in bites. 215 ! 216 ! !/S Enable subroutine tracing. 217 ! !/T Enable test output 218 ! 219 ! 10. Source code : 220 ! 221 !/ ------------------------------------------------------------------- / 222 USE W3GDATMD, ONLY: W3SETG 223 USE W3ODATMD, ONLY: W3SETO 224 !/ 225 USE W3GDATMD, ONLY: NX, NY, NSEA, NSEAL, NSPEC, MAPSTA, MAPST2, & 226 GNAME, FILEXT 227 USE W3WDATMD 228 USE W3ODATMD, ONLY: NDSE, NDST, IAPROC, NAPROC, NAPERR, NAPRST, & Page 5 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 229 IFILE => IFILE4, FNMPRE, NTPROC, IOSTYP 230 USE W3ODATMD, ONLY: NRQRS, NBLKRS, RSBLKS, IRQRS, IRQRSS, VAAUX 231 !/ 232 USE W3SERVMD, ONLY: EXTCDE 233 ! 234 IMPLICIT NONE 235 ! 236 INCLUDE "mpif.h" 237 !/ 238 !/ ------------------------------------------------------------------- / 239 !/ Parameter list 240 !/ 779 INTEGER :: NDSR 780 ! INTEGER, INTENT(IN) :: NDSR 781 INTEGER, INTENT(IN), OPTIONAL :: IMOD 782 INTEGER, INTENT(OUT) :: INTYPE 783 REAL, INTENT(INOUT) :: DUMFPI 784 CHARACTER, INTENT(IN) :: INXOUT*(*) 785 !/ 786 !/ ------------------------------------------------------------------- / 787 !/ Local parameters 788 !/ 789 INTEGER, PARAMETER :: LRB = 4 790 ! 791 INTEGER :: IGRD, I, J, LRECL, NSIZE, IYS, IERR, & 792 NSEAT, MSPEC, TTIME(2), ISEA, JSEA, & 793 NREC, NPART, IPART, IX, IY, IYL, IP 794 INTEGER, ALLOCATABLE :: MAPTMP(:,:) 795 INTEGER :: IERR_MPI, IH, IB, ISEA0, ISEAN, & 796 NRQ 797 INTEGER, ALLOCATABLE :: STAT1(:,:), STAT2(:,:) 798 LOGICAL :: WRITE, IOSFLG 799 CHARACTER(LEN=4) :: TYPE 800 CHARACTER(LEN=10) :: VERTST 801 CHARACTER(LEN=21) :: FNAME 802 CHARACTER(LEN=26) :: IDTST 803 CHARACTER(LEN=30) :: TNAME 804 !/ 805 !/ ------------------------------------------------------------------- / 806 !/ 807 ! 808 ! Constant NDSR for using mpiifort in ZEUS ... paralell runs crashing 809 ! because compiler doesn't accept reciclyng of UNIT for FORMATTED or 810 ! UNFORMATTED files in OPEN 811 ! 812 ! NDSR = 525 813 814 IOSFLG = IOSTYP .GT. 0 815 ! 816 ! test parameter list input ------------------------------------------ * 817 ! 818 IF ( PRESENT(IMOD) ) THEN 819 IGRD = IMOD 820 ELSE 821 IGRD = 1 822 END IF 823 ! Page 6 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 824 CALL W3SETO ( IGRD, NDSE, NDST ) 825 CALL W3SETG ( IGRD, NDSE, NDST ) 826 CALL W3SETW ( IGRD, NDSE, NDST ) 827 ! 828 IF (INXOUT.NE.'READ' .AND. INXOUT.NE.'HOT' .AND. & 829 INXOUT.NE.'COLD' .AND. INXOUT.NE.'WIND' .AND. & 830 INXOUT.NE.'CALM' ) THEN 831 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,900) INXOUT 832 CALL EXTCDE ( 1 ) 833 END IF 834 ! 835 WRITE = INXOUT .NE. 'READ' 836 IF ( INXOUT .EQ. 'HOT' ) THEN 837 TYPE = 'FULL' 838 ELSE 839 TYPE = INXOUT 840 END IF 841 ! 842 ! initializations ---------------------------------------------------- * 843 ! 844 IF ( .NOT.DINIT ) THEN 845 IF ( IAPROC .LE. NAPROC ) THEN 846 CALL W3DIMW ( IMOD, NDSE, NDST ) 847 ELSE 848 CALL W3DIMW ( IMOD, NDSE, NDST, .FALSE. ) 849 END IF 850 END IF 851 ! 852 IF ( IAPROC .LE. NAPROC ) VA(:,0) = 0. 853 ! 854 LRECL = MAX ( LRB*NSPEC , LRB*NX , & 855 LRB*(6+(25/LRB)+(9/LRB)+(29/LRB)+(3/LRB)) ) 856 NSIZE = LRECL / LRB 857 IYS = NSIZE / NX 858 ! 859 ! open file ---------------------------------------------------------- * 860 ! 861 I = LEN_TRIM(FILEXT) 862 J = LEN_TRIM(FNMPRE) 863 ! 864 IF ( IFILE.EQ.0 ) THEN 865 FNAME = 'restart.'//FILEXT(:I) 866 ELSE 867 FNAME = 'restartNNN.'//FILEXT(:I) 868 IF ( WRITE .AND. IAPROC.EQ.NAPRST ) & 869 WRITE (FNAME(8:10),'(I3.3)') IFILE 870 END IF 871 IFILE = IFILE + 1 872 ! 873 874 IF(NDST.EQ.NDSR)THEN 875 IF ( IAPROC .EQ. NAPERR ) & 876 WRITE(NDSE,'(A,I8)')'UNIT NUMBERS OF RESTART FILE AND '& 877 //'TEST OUTPUT ARE THE SAME : ',NDST 878 CALL EXTCDE ( 15 ) 879 ENDIF 880 Page 7 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 881 IF ( WRITE ) THEN 882 IF ( .NOT.IOSFLG .OR. IAPROC.EQ.NAPRST ) & 883 OPEN (NDSR,FILE=FNMPRE(:J)//FNAME,FORM='UNFORMATTED', & 884 ACCESS='DIRECT',RECL=LRECL,ERR=800,IOSTAT=IERR) 885 ELSE 886 OPEN (NDSR,FILE=FNMPRE(:J)//FNAME,FORM='UNFORMATTED', & 887 ACCESS='DIRECT',RECL=LRECL,ERR=800,IOSTAT=IERR, & 888 STATUS='OLD') 889 END IF 890 ! 891 ! test info ---------------------------------------------------------- * 892 ! 893 IF ( WRITE ) THEN 894 ! 895 IF ( IAPROC .EQ. NAPRST ) WRITE (NDSR,REC=1) & 896 IDSTR, VERINI, GNAME, TYPE, NSEA, NSPEC 897 INTYPE = 3 898 ! 899 ELSE 900 READ (NDSR,REC=1,ERR=802,IOSTAT=IERR) & 901 IDTST, VERTST, TNAME, TYPE, NSEAT, MSPEC 902 ! 903 IF ( IDTST .NE. IDSTR ) THEN 904 IF ( IAPROC .EQ. NAPERR ) & 905 WRITE (NDSE,901) IDTST, IDSTR 906 CALL EXTCDE ( 10 ) 907 END IF 908 IF ( VERTST .NE. VERINI ) THEN 909 IF ( IAPROC .EQ. NAPERR ) & 910 WRITE (NDSE,902) VERTST, VERINI 911 CALL EXTCDE ( 11 ) 912 END IF 913 IF ( TNAME .NE. GNAME ) THEN 914 IF ( IAPROC .EQ. NAPERR ) & 915 WRITE (NDSE,903) TNAME, GNAME 916 END IF 917 IF (TYPE.NE.'FULL' .AND. TYPE.NE.'COLD' .AND. & 918 TYPE.NE.'WIND' .AND. TYPE.NE.'CALM' ) THEN 919 IF ( IAPROC .EQ. NAPERR ) & 920 WRITE (NDSE,904) TYPE 921 CALL EXTCDE ( 12 ) 922 END IF 923 IF (NSEAT.NE.NSEA .OR. NSPEC.NE.MSPEC) THEN 924 IF ( IAPROC .EQ. NAPERR ) & 925 WRITE (NDSE,905) MSPEC, NSEAT, NSPEC, NSEA 926 CALL EXTCDE ( 13 ) 927 END IF 928 IF (TYPE.EQ.'FULL') THEN 929 INTYPE = 2 930 ELSE IF (TYPE.EQ.'WIND') THEN 931 INTYPE = 1 932 ELSE IF (TYPE.EQ.'CALM') THEN 933 INTYPE = 4 934 ELSE 935 INTYPE = 0 936 END IF 937 ! Page 8 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 938 END IF 939 ! 940 100 CONTINUE 941 ! 942 ! TIME if required --------------------------------------------------- * 943 ! 944 IF (TYPE.EQ.'FULL') THEN 945 IF ( WRITE ) THEN 946 IF ( IAPROC .EQ. NAPRST ) WRITE (NDSR,REC=2) TIME 947 ELSE 948 READ (NDSR,REC=2,ERR=802,IOSTAT=IERR) TTIME 949 IF (TIME(1).NE.TTIME(1) .OR. TIME(2).NE.TTIME(2)) THEN 950 IF ( IAPROC .EQ. NAPERR ) & 951 WRITE (NDSE,906) TTIME, TIME 952 CALL EXTCDE ( 20 ) 953 END IF 954 END IF 955 ! 956 END IF 957 ! 958 ! Spectra ------------------------------------------------------------ * 959 ! ( Bail out if write for TYPE.EQ.'WIND' ) 960 ! 961 IF ( WRITE ) THEN 962 IF ( TYPE.EQ.'WIND' .OR. TYPE.EQ.'CALM' ) THEN 963 IF ( .NOT.IOSFLG .OR. IAPROC.EQ.NAPRST ) CLOSE ( NDSR ) 964 RETURN 965 ELSE IF ( IAPROC.LE.NAPROC .OR. IAPROC.EQ. NAPRST ) THEN 966 ! 967 ! Original non-server version writing of spectra 968 ! 969 IF ( .NOT.IOSFLG .OR. (NAPROC.EQ.1.AND.NAPRST.EQ.1) ) THEN 970 DO JSEA=1, NSEAL 971 ISEA = IAPROC + (JSEA-1)*NAPROC 972 NREC = ISEA + 2 973 WRITE (NDSR,REC=NREC) (VA(I,JSEA),I=1,NSPEC) 974 END DO 975 ! 976 ! I/O server version writing of spectra ( !/MPI ) 977 ! 978 ELSE 979 ! 980 IF ( IAPROC .NE. NAPRST ) THEN 981 NRQ = 1 982 ELSE IF ( NAPRST .LE. NAPROC ) THEN 983 NRQ = NAPROC - 1 984 ELSE 985 NRQ = NAPROC 986 END IF 987 ! 988 ALLOCATE ( STAT1(MPI_STATUS_SIZE,NRQ) ) 989 IF ( IAPROC .EQ. NAPRST ) CALL MPI_STARTALL & 990 ( NRQ, IRQRSS, IERR_MPI ) 991 ! 992 DO IB=1, NBLKRS 993 ISEA0 = 1 + (IB-1)*RSBLKS*NAPROC 994 ISEAN = MIN ( NSEA , IB*RSBLKS*NAPROC ) Page 9 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 995 ! 996 IF ( IAPROC .EQ. NAPRST ) THEN 997 ! 998 IH = 1 + NRQ * (IB-1) 999 CALL MPI_WAITALL & 1000 ( NRQ, IRQRSS(IH), STAT1, IERR_MPI ) 1001 IF ( IB .LT. NBLKRS ) THEN 1002 IH = 1 + NRQ * IB 1003 CALL MPI_STARTALL & 1004 ( NRQ, IRQRSS(IH), IERR_MPI ) 1005 END IF 1006 ! 1007 DO ISEA=ISEA0, ISEAN 1008 NREC = ISEA + 2 1009 JSEA = 1 + (ISEA-1)/NAPROC 1010 IP = 1 + MOD(ISEA-1,NAPROC) 1011 IF ( IP .EQ. NAPRST ) THEN 1012 WRITE (NDSR,REC=NREC) VA(:,JSEA) 1013 ELSE 1014 JSEA = JSEA - 2*((IB-1)/2)*RSBLKS 1015 WRITE (NDSR,REC=NREC) & 1016 VAAUX(:,JSEA,IP) 1017 END IF 1018 END DO 1019 ! 1020 ELSE 1021 ! 1022 CALL MPI_STARTALL & 1023 ( 1, IRQRSS(IB), IERR_MPI ) 1024 CALL MPI_WAITALL & 1025 ( 1, IRQRSS(IB), STAT1, IERR_MPI ) 1026 ! 1027 END IF 1028 END DO 1029 ! 1030 DEALLOCATE ( STAT1 ) 1031 ! 1032 END IF 1033 ! 1034 END IF 1035 ELSE 1036 ! 1037 ! Reading spectra 1038 ! 1039 IF ( TYPE.EQ.'WIND' .OR. TYPE.EQ.'CALM' ) THEN 1040 ELSE 1041 DO JSEA=1, NSEAL 1042 ISEA = IAPROC + (JSEA-1)*NAPROC 1043 NREC = ISEA + 2 1044 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1045 (VA(I,JSEA),I=1,NSPEC) 1046 END DO 1047 END IF 1048 END IF 1049 ! 1050 ! Water level etc. if required --------------------------------------- * 1051 ! ( For cold start write test output and cold start initialize Page 10 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 1052 ! water levels. Note that MAPSTA overwrites the one read from the 1053 ! model definition file, so that it need not be initialized. ) 1054 ! 1055 NREC = NSEA + 3 1056 NPART = 1 + (NSEA-1)/NSIZE 1057 ! 1058 IF ( WRITE ) THEN 1059 ! 1060 IF (TYPE.EQ.'FULL') THEN 1061 ! 1062 IF ( IAPROC .EQ. NAPRST ) THEN 1063 ! 1064 ALLOCATE ( STAT2(MPI_STATUS_SIZE,NRQRS) ) 1065 CALL MPI_WAITALL & 1066 ( NRQRS, IRQRS , STAT2, IERR_MPI ) 1067 DEALLOCATE ( STAT2 ) 1068 ! 1069 WRITE (NDSR,REC=NREC) TLEV, TICE 1070 DO IPART=1,NPART 1071 NREC = NREC + 1 1072 WRITE (NDSR,REC=NREC) & 1073 (WLV(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1074 MIN(NSEA,IPART*NSIZE)) 1075 END DO 1076 DO IPART=1,NPART 1077 NREC = NREC + 1 1078 WRITE (NDSR,REC=NREC) & 1079 (ICE(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1080 MIN(NSEA,IPART*NSIZE)) 1081 END DO 1082 ALLOCATE ( MAPTMP(NY,NX) ) 1083 MAPTMP = MAPSTA + 8*MAPST2 1084 DO IY=1, NY, IYS 1085 NREC = NREC + 1 1086 WRITE (NDSR,REC=NREC) & 1087 ((MAPTMP(IYL,IX),IX=1,NX),IYL=IY, & 1088 MIN(NY,IY+IYS-1)) 1089 END DO 1090 DEALLOCATE ( MAPTMP ) 1091 DO IPART=1,NPART 1092 NREC = NREC + 1 1093 WRITE (NDSR,REC=NREC) & 1094 (UST(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1095 MIN(NSEA,IPART*NSIZE)) 1096 END DO 1097 DO IPART=1,NPART 1098 NREC = NREC + 1 1099 WRITE (NDSR,REC=NREC) & 1100 (USTDIR(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1101 MIN(NSEA,IPART*NSIZE)) 1102 END DO 1103 DO IPART=1,NPART 1104 NREC = NREC + 1 1105 WRITE (NDSR,REC=NREC) & 1106 (ASF(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1107 MIN(NSEA,IPART*NSIZE)) 1108 END DO Page 11 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 1109 DO IPART=1,NPART 1110 NREC = NREC + 1 1111 WRITE (NDSR,REC=NREC) & 1112 (FPIS(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1113 MIN(NSEA,IPART*NSIZE)) 1114 END DO 1115 END IF 1116 END IF 1117 ELSE 1118 IF (TYPE.EQ.'FULL') THEN 1119 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) TLEV, TICE 1120 DO IPART=1,NPART 1121 NREC = NREC + 1 1122 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1123 (WLV(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1124 MIN(NSEA,IPART*NSIZE)) 1125 END DO 1126 DO IPART=1,NPART 1127 NREC = NREC + 1 1128 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1129 (ICE(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1130 MIN(NSEA,IPART*NSIZE)) 1131 END DO 1132 ALLOCATE ( MAPTMP(NY,NX) ) 1133 DO IY=1, NY, IYS 1134 NREC = NREC + 1 1135 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1136 ((MAPTMP(IYL,IX),IX=1,NX),IYL=IY, & 1137 MIN(NY,IY+IYS-1)) 1138 END DO 1139 MAPSTA = MOD(MAPTMP+2,8) - 2 1140 MAPST2 = (MAPTMP-MAPSTA) / 8 1141 DEALLOCATE ( MAPTMP ) 1142 DO IPART=1,NPART 1143 NREC = NREC + 1 1144 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1145 (UST(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1146 MIN(NSEA,IPART*NSIZE)) 1147 END DO 1148 DO IPART=1,NPART 1149 NREC = NREC + 1 1150 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1151 (USTDIR(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1152 MIN(NSEA,IPART*NSIZE)) 1153 END DO 1154 DO IPART=1,NPART 1155 NREC = NREC + 1 1156 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1157 (ASF(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1158 MIN(NSEA,IPART*NSIZE)) 1159 END DO 1160 DO IPART=1,NPART 1161 NREC = NREC + 1 1162 READ (NDSR,REC=NREC,ERR=802,IOSTAT=IERR) & 1163 (FPIS(ISEA),ISEA=1+(IPART-1)*NSIZE, & 1164 MIN(NSEA,IPART*NSIZE)) 1165 END DO Page 12 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 1166 ELSE 1167 TLEV(1) = -1 1168 TLEV(2) = 0 1169 TICE(1) = -1 1170 TICE(2) = 0 1171 WLV = 0. 1172 ICE = 0. 1173 ASF = 1. 1174 FPIS = DUMFPI 1175 END IF 1176 END IF 1177 ! 1178 ! Close file --------------------------------------------------------- * 1179 ! 1180 IF ( .NOT.IOSFLG .OR. IAPROC.EQ.NAPRST ) CLOSE ( NDSR ) 1181 ! 1182 RETURN 1183 ! 1184 ! Escape locations read errors : 1185 ! 1186 800 CONTINUE 1187 TYPE = 'CALM' 1188 INTYPE = 4 1189 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,990) TYPE, IERR 1190 GOTO 100 1191 ! 1192 801 CONTINUE 1193 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,991) 1194 CALL EXTCDE ( 30 ) 1195 ! 1196 802 CONTINUE 1197 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,992) IERR 1198 CALL EXTCDE ( 31 ) 1199 ! 1200 ! Formats 1201 ! 1202 900 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS :'/ & 1203 ' ILLEGAL INXOUT VALUE: ',A/) 1204 901 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS :'/ & 1205 ' ILLEGAL IDSTR, READ : ',A/ & 1206 ' CHECK : ',A/) 1207 902 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS :'/ & 1208 ' ILLEGAL VERINI, READ : ',A/ & 1209 ' CHECK : ',A/) 1210 903 FORMAT (/' *** WAVEWATCH III WARNING IN W3IORS :'/ & 1211 ' ILLEGAL GNAME, READ : ',A/ & 1212 ' CHECK : ',A/) 1213 904 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS :'/ & 1214 ' ILLEGAL TYPE : ',A/) 1215 905 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS :'/ & 1216 ' CONFLICTING NSPEC, NSEA GRID : ',2I8/ & 1217 ' EXPECTED : ',2I8/) 1218 906 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS :'/ & 1219 ' CONFLICTING TIMES: FILE : ',I10.8,I8.6/ & 1220 ' MODEL : ',I10.8,I8.6/) 1221 ! 1222 990 FORMAT (/' *** WAVEWATCH III WARNING IN W3IORS : '/ & Page 13 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 1223 ' ERROR IN OPENING FILE, ', & 1224 'INITIALIZE WITH ''',A,''' INSTEAD'/ & 1225 ' IOSTAT =',I5/) 1226 991 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS : '/ & 1227 ' PREMATURE END OF FILE'/) 1228 992 FORMAT (/' *** WAVEWATCH III ERROR IN W3IORS : '/ & 1229 ' ERROR IN READING FROM FILE'/ & 1230 ' IOSTAT =',I5/) 1231 ! 1232 !/ 1233 !/ End of W3IORS ----------------------------------------------------- / 1234 !/ 1235 END SUBROUTINE W3IORS ENTRY POINTS Name w3iorsmd_mp_w3iors_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 100 Label 402 652 800 Label 648 346,349 801 Label 654 802 Label 658 362,410,506,581,584,590,597,606,61 2,618,624 900 Label 664 293 901 Label 666 367 902 Label 669 372 903 Label 672 377 904 Label 675 382 905 Label 677 387 906 Label 680 413 990 Label 684 651 991 Label 688 655 992 Label 690 659 ASF Local 568 R(4) 4 1 1 PTR 568,619,635 DINIT Local 306 L(4) 4 scalar PTR 306 DUMFPI Dummy 63 R(4) 4 scalar ARG,INOUT 636 EXTCDE Subr 232 232,294,340,368,373,383,388,414,65 6,660 FILEXT Local 226 CHAR 10 scalar PTR 226,323,327,329 FNAME Local 263 CHAR 21 scalar 327,329,331,345,348 FNMPRE Local 229 CHAR 80 scalar 229,324,345,348 FPIS Local 574 R(4) 4 1 1 PTR 574,625,636 GNAME Local 226 CHAR 30 scalar PTR 226,358,375,377 I Local 253 I(4) 4 scalar 323,327,329,435,507 IAPROC Local 228 I(4) 4 scalar PTR 228,293,307,314,330,337,344,357,36 6,371,376,381,386,408,412,425,427, 433,442,451,458,504,524,642,651,65 5,659 IB Local 257 I(4) 4 scalar 454,455,456,460,463,464,476,485,48 Page 14 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 7 ICE Local 541 R(4) 4 1 1 PTR 541,591,634 IDSTR Param 358 CHAR 26 scalar PRIV 59,358,365,367 IDTST Local 264 CHAR 26 scalar 363,365,367 IERR Local 253 I(4) 4 scalar 346,349,362,410,506,581,584,590,59 7,606,612,618,624,651,659 IERR_MPI Local 257 I(4) 4 scalar 452,462,466,485,487,528 IFILE Local 229 I(4) 4 scalar PTR 326,331,333 IGRD Local 253 I(4) 4 scalar 281,283,286,287,288 IH Local 257 I(4) 4 scalar 460,462,464,466 IMOD Dummy 63 I(4) 4 scalar ARG,IN 280,281,308,310 INTYPE Dummy 63 I(4) 4 scalar ARG,OUT 359,391,393,395,397,650 INXOUT Dummy 63 CHAR scalar ARG,IN 290,291,292,293,297,298,301 IOSFLG Local 260 L(4) 4 scalar 276,344,425,431,642 IOSTYP Local 229 I(4) 4 scalar 229,276 IP Local 255 I(4) 4 scalar 472,473,478 IPART Local 255 I(4) 4 scalar 532,535,536,538,541,542,553,556,55 7,559,562,563,565,568,569,571,574, 575,582,585,586,588,591,592,604,60 7,608,610,613,614,616,619,620,622, 625,626 IRQRS Local 230 I(4) 4 1 1 PTR 230,528 IRQRSS Local 230 I(4) 4 1 1 PTR 230,452,462,466,485,487 ISEA Local 254 I(4) 4 scalar 433,434,469,470,471,472,504,505,53 5,541,556,562,568,574,585,591,607, 613,619,625 ISEA0 Local 257 I(4) 4 scalar 455,469 ISEAN Local 257 I(4) 4 scalar 456,469 IX Local 255 I(4) 4 scalar 549,598 IY Local 255 I(4) 4 scalar 546,549,550,595,598,599 IYL Local 255 I(4) 4 scalar 549,598 IYS Local 253 I(4) 4 scalar 319,546,550,595,599 J Local 253 I(4) 4 scalar 324,345,348 JSEA Local 254 I(4) 4 scalar 432,433,435,471,474,476,478,503,50 4,507 LEN_TRIM Func 323 scalar 323,324 LRB Param 251 I(4) 4 scalar 316,317,318 LRECL Local 253 I(4) 4 scalar 316,318,346,349 MAPST2 Local 225 I(4) 4 2 1 PTR 225,545,602 MAPSTA Local 225 I(4) 4 2 1 PTR 225,545,601,602 MAPTMP Local 256 I(4) 4 2 1 ALC 544,545,549,552,594,598,601,602,60 3 MAX Func 316 scalar 316 MIN Func 456 scalar 456,536,542,550,557,563,569,575,58 6,592,599,608,614,620,626 MOD Func 472 scalar 472,601 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 MPI_2INT Param 415 I(4) 4 scalar MPI_2INTEGER Param 330 I(4) 4 scalar MPI_2REAL Param 336 I(4) 4 scalar Page 15 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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_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 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 Page 16 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 17 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 18 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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_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_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 451 451,465,484 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,450,526 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 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 Page 19 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 461 461,486,527 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 MSPEC Local 254 I(4) 4 scalar 363,385,387 NAPERR Local 228 I(4) 4 scalar PTR 228,293,337,366,371,376,381,386,41 2,651,655,659 NAPROC Local 228 I(4) 4 scalar PTR 228,307,314,427,431,433,444,445,44 7,455,456,471,472,504 NAPRST Local 228 I(4) 4 scalar PTR 228,330,344,357,408,425,427,431,44 2,444,451,458,473,524,642 NBLKRS Local 230 I(4) 4 scalar PTR 230,454,463 NDSE Local 228 I(4) 4 scalar PTR 228,286,287,288,293,308,310,338,36 7,372,377,382,387,413,651,655,659 NDSR Dummy 63 I(4) 4 scalar ARG,INOUT 336,345,348,357,362,408,410,425,43 5,474,477,506,531,534,540,548,555, 561,567,573,581,584,590,597,606,61 2,618,624,642 NDST Local 228 I(4) 4 scalar PTR 228,286,287,288,308,310,336,339 NPART Local 255 I(4) 4 scalar 518,532,538,553,559,565,571,582,58 8,604,610,616,622 NREC Local 255 I(4) 4 scalar 434,435,470,474,477,505,506,517,53 1,533,534,539,540,547,548,554,555, 560,561,566,567,572,573,581,583,58 4,589,590,596,597,605,606,611,612, 617,618,623,624 NRQ Local 258 I(4) 4 scalar 443,445,447,450,452,460,462,464,46 6 NRQRS Local 230 I(4) 4 scalar PTR 230,526,528 NSEA Local 225 I(4) 4 scalar PTR 225,358,385,387,456,517,518,536,54 2,557,563,569,575,586,592,608,614, 620,626 NSEAL Local 225 I(4) 4 scalar PTR 225,432,503 NSEAT Local 254 I(4) 4 scalar 363,385,387 NSIZE Local 253 I(4) 4 scalar 318,319,518,535,536,541,542,556,55 Page 20 Source Listing W3IORS 2014-09-16 16:48 Symbol Table w3iorsmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 7,562,563,568,569,574,575,585,586, 591,592,607,608,613,614,619,620,62 5,626 NSPEC Local 225 I(4) 4 scalar PTR 225,316,358,385,387,435,507 NTPROC Local 229 I(4) 4 scalar PTR 229 NX Local 225 I(4) 4 scalar PTR 225,316,319,544,549,594,598 NY Local 225 I(4) 4 scalar PTR 225,544,546,550,594,595,599 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar PRESENT Func 280 scalar 280 RSBLKS Local 230 I(4) 4 scalar PTR 230,455,456,476 STAT1 Local 259 I(4) 4 2 1 ALC 450,462,487,492 STAT2 Local 259 I(4) 4 2 1 ALC 526,528,529 TICE Local 531 I(4) 4 1 1 PTR 531,581,631,632 TIME Local 408 I(4) 4 1 1 PTR 408,411,413 TLEV Local 531 I(4) 4 1 1 PTR 531,581,629,630 TNAME Local 265 CHAR 30 scalar 363,375,377 TTIME Local 254 I(4) 4 1 2 410,411,413 TYPE Local 261 CHAR 4 scalar 299,301,358,363,379,380,382,390,39 2,394,406,424,501,522,580,649,651 UST Local 556 R(4) 4 1 1 PTR 556,607 USTDIR Local 562 R(4) 4 1 1 PTR 562,613 VA Local 314 R(4) 4 2 1 PTR 314,435,474,507 VAAUX Local 230 R(4) 4 3 1 PTR 230,478 VERINI Param 358 CHAR 10 scalar PRIV 57,358,370,372 VERTST Local 262 CHAR 10 scalar 363,370,372 W3DIMW Subr 308 308,310 W3GDATMD Module 222 222,225 W3IORS Subr 63 W3ODATMD Module 223 223,228,230 W3SERVMD Module 232 232 W3SETG Subr 222 222,287 W3SETO Subr 223 223,286 W3SETW Subr 288 288 W3WDATMD Module 227 227 WLV Local 535 R(4) 4 1 1 PTR 535,585,633 WRITE Local 260 L(4) 4 scalar 297,330,343,355,407,423,520 Page 21 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.f90 1236 !/ 1237 !/ End of module W3IORSMD -------------------------------------------- / 1238 !/ 1239 END MODULE W3IORSMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References W3IORSMD Module 2 Page 22 Source Listing W3IORS 2014-09-16 16:48 Subprograms/Common Blocks w3iorsmd.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 W3IORS Subr 63 W3IORSMD 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 23 Source Listing W3IORS 2014-09-16 16:48 w3iorsmd.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 : w3iorsmd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100