Page 1 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3INITMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 14-Nov-2013 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ 28-Dec-2004 : Origination (out of W3WAVEMD). ( version 3.06 ) 12 !/ Multiple grid version. 13 !/ 03-Jan-2005 : Add US2x to MPI communication. ( version 3.06 ) 14 !/ 04-Jan-2005 : Add grid output flags to W3INIT. ( version 3.06 ) 15 !/ 07-Feb-2005 : Combined vs. separate test output. ( version 3.07 ) 16 !/ 04-May-2005 : Change to MPI_COMM_WAVE. ( version 3.07 ) 17 !/ 21-Jul-2005 : Add output fields. ( version 3.07 ) 18 !/ 09-Nov-2005 : Drying out of points added. ( version 3.08 ) 19 !/ 13-Jun-2006 : Splitting STORE in G/SSTORE. ( version 3.09 ) 20 !/ 26-Jun-2006 : adding wiring for output type 6. ( version 3.09 ) 21 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 22 !/ 04-Jul-2006 : Consolidate stress arrays. ( version 3.09 ) 23 !/ 02-Aug-2006 : Adding W3MPIP. ( version 3.10 ) 24 !/ 02-Nov-2006 : Adding partitioning options. ( version 3.10 ) 25 !/ 11-Jan-2007 : Updating IAPPRO computation. ( version 3.10 ) 26 !/ 02-Apr-2007 : Add partitioned field data. ( version 3.11 ) 27 !/ Add user-defined field data. 28 !/ 01-May-2007 : Move O7a output to W3IOPP. ( version 3.11 ) 29 !/ 08-May-2007 : Starting from calm as an option. ( version 3.11 ) 30 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 31 !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) 32 !/ 29-Feb-2008 : Add NEC compiler directives. ( version 3.13 ) 33 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 34 !/ 23-Jul-2009 : Implement unstructured grids ( version 3.14 ) 35 !/ 30-Oct-2009 : Implement run-time grid selection. ( version 3.14 ) 36 !/ (W. E. Rogers & T. J. Campbell, NRL) 37 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 38 !/ (W. E. Rogers & T. J. Campbell, NRL) 39 !/ 06-Dec-2010 : Change from GLOBAL (logical) to ICLOSE (integer) to 40 !/ specify index closure for a grid. ( version 3.14 ) 41 !/ (T. J. Campbell, NRL) 42 !/ 02-Sep.2012 : Set up for > 999 test files. ( version 4.10 ) 43 !/ Reset UST initialization. 44 !/ 03-Sep-2012 : Switch test file on/off (TSTOUT) ( version 4.10 ) 45 !/ 03-Sep-2012 : Clean up of UG grids ( version 4.08 ) 46 !/ 30-Sep-2012 : Implemetation of tidal constituents ( version 4.09 ) 47 !/ 07-Dec-2012 : Initialize UST non-zero. ( version 4.11 ) 48 !/ 12-Dec-2012 : Changes for SMC grid. JG_Li ( version 4.11 ) 49 !/ 26-Dec-2012 : Modify field output MPI for new ( version 4.11 ) 50 !/ structure and smaller memory footprint. 51 !/ 02-Jul-2013 : Bug fix MPI_FLOAT -> MPI_REAL. ( version 4.11 ) 52 !/ 10-Oct-2013 : CG and WN values at DMIN for ISEA=0 ( version 4.12 ) 53 !/ 14-Nov-2013 : RRemove UST(DIR) initialization. ( version 4.13 ) 54 !/ 55 !/ Copyright 2009-2013 National Weather Service (NWS), 56 !/ National Oceanic and Atmospheric Administration. All rights 57 !/ reserved. WAVEWATCH III is a trademark of the NWS. Page 2 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 58 !/ No unauthorized use without permission. 59 !/ 60 !/ Note: Changes in version numbers not logged above. 61 !/ 62 ! 1. Purpose : 63 ! 64 ! 2. Variables and types : 65 ! 66 ! Name Type Scope Description 67 ! ---------------------------------------------------------------- 68 ! CRITOS R.P. Public Critical percentage of resources used 69 ! for output to trigger warning. 70 ! WWVER C*10 Public Model version number. 71 ! SWITCHES C*256 Public switches taken from bin/switch 72 ! ---------------------------------------------------------------- 73 ! 74 ! 3. Subroutines and functions : 75 ! 76 ! Name Type Scope Description 77 ! ---------------------------------------------------------------- 78 ! W3INIT Subr. Public Wave model initialization. 79 ! W3MPII Subr. Public Initialize MPI data transpose. 80 ! W3MPIO Subr. Public Initialize MPI output gathering. 81 ! W3MPIP Subr. Public Initialize MPI point output gathering. 82 ! ---------------------------------------------------------------- 83 ! 84 ! 4. Subroutines and functions used : 85 ! 86 ! See subroutine documentation. 87 ! 88 ! 5. Remarks : 89 ! 90 ! 6. Switches : 91 ! 92 ! !/SHRD Switch for shared / distributed memory architecture. 93 ! !/DIST Id. 94 ! !/MPI Id. 95 ! 96 ! !/S Enable subroutine tracing. 97 ! !/Tn Enable test output. 98 ! !/MPIT Enable test output (MPI). 99 ! 100 ! 7. Source code : 101 ! 102 !/ ------------------------------------------------------------------- / 103 PUBLIC 104 !/ 105 REAL, PARAMETER :: CRITOS = 15. 106 CHARACTER(LEN=10), PARAMETER :: WWVER = '4.15a ' 107 CHARACTER(LEN=512), PARAMETER :: SWITCHES = & 108 'F90 NCO NOGRB SBS NOPA LRB4 DIST MPI PR3 UQ ST4 STAB0 FLX0 LN1 NL1 BT1 DB1 MLIM TR0 BS0 XX0 WNX1 WNT' / 108 / & 109 '1 CRX1 CRT1 O0 O1 O2 O4 O5 O6 O7' // & 110 '' 111 !/ 112 CONTAINS 113 !/ ------------------------------------------------------------------- / Page 3 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 114 SUBROUTINE W3INIT ( IMOD, FEXT, MDS, MTRACE, ODAT, & 115 FLGRD, FLGR2, FLG, NPT, XPT, YPT, PNAMES, & 116 IPRT, PRTFRM, MPI_COMM, FLAGSTIDEIN ) 117 !/ 118 !/ +-----------------------------------+ 119 !/ | WAVEWATCH III NOAA/NCEP | 120 !/ | H. L. Tolman | 121 !/ | FORTRAN 90 | 122 !/ | Last update : 03-Sep-2012 | 123 !/ +-----------------------------------+ 124 !/ 125 !/ 17-Mar-1999 : Distributed FORTRAN 77 version. ( version 1.18 ) 126 !/ 13-Jan-2000 : Upgrade to FORTRAN 90 ( version 2.00 ) 127 !/ Major changes to logistics. 128 !/ 14-Feb-2000 : Exact-NL added. ( version 2.01 ) 129 !/ 24-Jan-2001 : Flat grid version. ( version 2.06 ) 130 !/ 24-Jan-2002 : Zero time step for data ass. ( version 2.17 ) 131 !/ 18-Feb-2002 : Point output diagnostics added. ( version 2.18 ) 132 !/ 13-Nov-2002 : Add stress vector. ( version 3.00 ) 133 !/ 20-Aug-2003 : Output server options added. ( version 3.04 ) 134 !/ 28-Dec-2004 : Multiple grid version. ( version 3.06 ) 135 !/ Taken out of W3WAVE. 136 !/ 04-Jan-2005 : Add grid output flags to par list. ( version 3.06 ) 137 !/ 07-Feb-2005 : Combined vs. separate test output. ( version 3.07 ) 138 !/ 04-May-2005 : Change to MPI_COMM_WAVE. ( version 3.07 ) 139 !/ 09-Nov-2005 : Drying out of points added. ( version 3.08 ) 140 !/ 26-Jun-2006 : adding wiring for output type 6. ( version 3.09 ) 141 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 142 !/ 02-Aug-2006 : Adding W3MPIP. ( version 3.10 ) 143 !/ 02-Nov-2006 : Adding partitioning options. ( version 3.10 ) 144 !/ 11-Jan-2007 : Updating IAPPRO computation. ( version 3.10 ) 145 !/ 01-May-2007 : Move O7a output to W3IOPP. ( version 3.11 ) 146 !/ 08-May-2007 : Starting from calm as an option. ( version 3.11 ) 147 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 148 !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 149 !/ 13-Sep-2009 : Add coupling option ( version 3.14 ) 150 !/ 30-Oct-2009 : Implement run-time grid selection. ( version 3.14 ) 151 !/ (W. E. Rogers & T. J. Campbell, NRL) 152 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 153 !/ (W. E. Rogers & T. J. Campbell, NRL) 154 !/ 29-Oct-2010 : Implement unstructured grids ( version 3.14.1 ) 155 !/ (A. Roland and F. Ardhuin) 156 !/ 06-Dec-2010 : Change from GLOBAL (logical) to ICLOSE (integer) to 157 !/ specify index closure for a grid. ( version 3.14 ) 158 !/ (T. J. Campbell, NRL) 159 !/ 02-Sep.2012 : Set up for > 999 test files. ( version 4.10 ) 160 !/ 03-Sep-2012 : Switch test file on/off (TSTOUT) ( version 4.10 ) 161 !/ 03-Sep-2012 : Clean up of UG grids ( version 4.08 ) 162 !/ 163 ! 1. Purpose : 164 ! 165 ! Initialize WAVEWATCH III. 166 ! 167 ! 2. Method : 168 ! 169 ! Initialize data structure and wave fields from data files. 170 ! Initialize grid from local and instantaneous data. Page 4 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 171 ! 172 ! 3. Parameters : 173 ! 174 ! Parameter list 175 ! ---------------------------------------------------------------- 176 ! IMOD Int. I Model number. 177 ! FEXT Char I Extension of data files. 178 ! MDS I.A. I Array with dataset numbers (see below), 179 ! saved as NDS in W3ODATMD. 180 ! 1: General output unit number ("log file"). 181 ! 2: Error output unit number. 182 ! 3: Test output unit number. 183 ! 4: "screen", i.e., direct output location, 184 ! can be the screen or the output file of 185 ! the shell. 186 ! 5: Model definition file unit number. 187 ! 6: Restart file unit number. 188 ! 7: Grid output file unit number. 189 ! 8: Point output file unit number. 190 ! 9: Input boundary data file unit number. 191 ! 10: Output boundary data file unit number 192 ! (first). 193 ! 11: Track information file unit number. 194 ! 12: Track output file unit number. 195 ! MTRACE I.A. I Array with subroutine tracing information. 196 ! 1: Output unit number for trace. 197 ! 2: Maximum number of trace prints. 198 ! ODAT I.A. I Output data, five parameters per output type 199 ! 1-5 Data for OTYPE = 1; gridded fields. 200 ! 1 YYYMMDD for first output. 201 ! 2 HHMMSS for first output. 202 ! 3 Output interval in seconds. 203 ! 4 YYYMMDD for last output. 204 ! 5 HHMMSS for last output. 205 ! 6-10 Id. for OTYPE = 2; point output. 206 ! 11-15 Id. for OTYPE = 3; track point output. 207 ! 16-20 Id. for OTYPE = 4; restart files. 208 ! 21-25 Id. for OTYPE = 5; boundary data. 209 ! 31-35 Id. for OTYPE = 7; coupling data. 210 ! FLGRD L.A. I Flags for gridded output. 211 ! NPT Int. I Number of output points 212 ! X/YPT R.A. I Coordinates of output points. 213 ! PNAMES C.A. I Output point names. 214 ! IPRT I.A. I Partitioning grid info. 215 ! PRTFRM I.A. I Partitioning format flag. 216 ! MPI_COMM Int. I MPI communicator to be used for model. 217 ! ---------------------------------------------------------------- 218 ! 219 ! 4. Subroutines used : 220 ! 221 ! Name Type Module Description 222 ! ---------------------------------------------------------------- 223 ! W3SETG Subr. W3GDATMD Point to data structure. 224 ! W3SETW Subr. W3WDATMD Point to data structure. 225 ! W3DIMW Subr. Id. Set array sizes in data structure. 226 ! W3SETA Subr. W3ADATMD Point to data structure. 227 ! W3DIMA Subr. Id. Set array sizes in data structure. Page 5 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 228 ! W3SETI Subr. W3IDATMD Point to data structure. 229 ! W3DIMI Subr. Id. Set array sizes in data structure. 230 ! W3SETO Subr. W3ODATMD Point to data structure. 231 ! W3DMO5 Subr. Id. Set array sizes in data structure. 232 ! ITRACE Subr. W3SERVMD Subroutine tracing initialization. 233 ! STRACE Subr. Id. Subroutine tracing. 234 ! EXTCDE Subr. Id. Program abort. 235 ! WWDATE Subr. Id. System date. 236 ! WWTIME Subr. Id. System time. 237 ! DSEC21 Func. W3TIMEMD Compute time difference. 238 ! TICK21 Func. Id. Advance the clock. 239 ! STME21 Func. Id. Print the time readable. 240 ! PRTBLK Func. W3ARRYMD Print plot of array. 241 ! W3IOGR Subr. W3IOGRMD Read/write model definition file. 242 ! W3IORS Subr. W3IORSMD Read/write restart file. 243 ! W3IOPP Subr. W3IOPOMD Preprocess point output. 244 ! CALL MPI_COMM_SIZE, CALL MPI_COMM_RANK 245 ! Subr. mpif.h Standard MPI routines. 246 ! ---------------------------------------------------------------- 247 ! 248 ! 5. Called by : 249 ! 250 ! Any program shell or integrated model which uses WAVEWATCH III. 251 ! 252 ! 6. Error messages : 253 ! 254 ! On opening of log file only. Other error messages are generated 255 ! by W3IOGR and W3IORS. 256 ! 257 ! 7. Remarks : 258 ! 259 ! - The log file is called 'log.FEXT', where FEXT is passed to 260 ! the routine. 261 ! - The test output file is called 'test.FEXT' in shared memory 262 ! version or testNNN.FEXT in distributed memory version. 263 ! - A water level and ice coverage are transferred with the 264 ! restart file. To assure consistency within the model, the 265 ! water level and ice coverage are re-evaluated at the 0th 266 ! time step in the actual wave model routine. 267 ! - When running regtests in cases where disk is non-local 268 ! (i.e. NFS used), there can be a huge improvment in compute 269 ! time by using /var/tmp/ for log files. 270 ! See commented line at "OPEN (MDS(1),FILE=..." 271 ! 272 ! 8. Structure : 273 ! 274 ! ---------------------------------------------------- 275 ! 1. Set-up of idata structures and I/O. 276 ! a Point to proper data structures. 277 ! b Number of processors and processor number. 278 ! c Open files. 279 ! d Dataset unit numbers 280 ! e Subroutine tracing 281 ! f Initial and test outputs 282 ! 2. Model definition. 283 ! a Read model definition file ( W3IOGR ) 284 ! b Save MAPSTA. Page 6 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 285 ! c MPP preparation 286 ! 3. Model initialization. 287 ! a Read restart file. ( W3IORS ) 288 ! b Compare grid and restart MAPSTA. 289 ! c Initialize with winds if requested (set flag). 290 ! d Initialize calm conditions if requested. 291 ! e Preparations for prop. scheme. 292 ! 4. Set-up output times. 293 ! a Unpack ODAT. 294 ! b Check if output available. 295 ! c Get first time per output and overall. 296 ! d Prepare point output ( W3IOPP ) 297 ! 5. Define wavenumber grid. 298 ! a Calculate depth. 299 ! b Fill wavenumber and group velocity arrays. 300 ! 6. Initialize arrays. 301 ! 7. Write info to log file. 302 ! 8. Final MPI set up ( W3MPII , W3MPIO , W3MPIP ) 303 ! ---------------------------------------------------- 304 ! 305 ! 9. Switches : 306 ! 307 ! !/SHRD Switch for shared / distributed memory architecture. 308 ! !/DIST Id. 309 ! !/MPI Id. 310 ! 311 ! !/S Enable subroutine tracing. 312 ! !/Tn Enable test output. 313 ! 314 ! 10. Source code : 315 ! 316 !/ ------------------------------------------------------------------- / 317 USE CONSTANTS 318 !/ 319 USE W3GDATMD, ONLY: W3SETG, P2MSF, E3DF, US3DF 320 USE W3WDATMD, ONLY: W3SETW, W3DIMW 321 USE W3ADATMD, ONLY: W3SETA, W3DIMA, P2SMS, HS, EF, US3D 322 USE W3IDATMD, ONLY: W3SETI, W3DIMI 323 USE W3ODATMD, ONLY: W3SETO, W3DMO5 324 USE W3IOGOMD, ONLY: W3FLGRDUPDT 325 USE W3IOGRMD, ONLY: W3IOGR 326 USE W3IORSMD, ONLY: W3IORS 327 USE W3IOPOMD, ONLY: W3IOPP 328 USE W3SERVMD, ONLY: ITRACE, EXTCDE, WWDATE, WWTIME 329 USE W3TIMEMD, ONLY: DSEC21, TICK21, STME21 330 USE W3ARRYMD, ONLY: PRTBLK 331 !/ 332 USE W3GDATMD, ONLY: NX, NY, NSEA, NSEAL, MAPSTA, MAPST2, MAPFS, & 333 MAPSF, FLAGLL, & 334 ICLOSE, ZB, TRNX, TRNY, DMIN, DTCFL, DTMAX, & 335 FLCK, NK, NTH, NSPEC, SIG, GNAME 336 USE W3WDATMD, ONLY: TIME, TLEV, TICE, WLV, UST, USTDIR, VA 337 USE W3ODATMD, ONLY: NDSO, NDSE, NDST, SCREEN, NDS, NTPROC, & 338 NAPROC, IAPROC, NAPLOG, NAPOUT, NAPERR, & 339 NAPFLD, NAPPNT, NAPTRK, NAPRST, NAPBPT, & 340 NAPPRT, TOFRST, DTOUT, TONEXT, TOLAST, & 341 FLOUT, FLOGRD, FLBPO, NOPTS, PTNME, & Page 7 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 342 PTLOC, IPTINT, PTIFAC, UNDEF, IDOUT, FLBPI, & 343 OUTPTS, FNMPRE, IX0, IXN, IXS, IY0, IYN, & 344 IYS, FLFORM, IOSTYP, UNIPTS, UPPROC, NOTYPE,& 345 FLOGR2, NOGRP, NGRPP, FLOG 346 USE W3ADATMD, ONLY: NSEALM, IAPPRO, FLCOLD, FLIWND, DW, CG, WN, & 347 UA, UD, U10, U10D, AS 348 USE W3ADATMD, ONLY: MPI_COMM_WAVE, MPI_COMM_WCMP 349 USE W3IDATMD, ONLY: FLLEV, FLCUR, FLWIND, FLICE, FLMDN, FLMTH, & 350 FLMVS, FLIC1, FLIC2, FLIC3, FLIC4, FLIC5 351 USE W3DISPMD, ONLY: WAVNU1 352 !/ 353 IMPLICIT NONE 354 ! 355 INCLUDE "mpif.h" 356 !/ 357 !/ ------------------------------------------------------------------- / 358 !/ Parameter list 359 !/ 898 INTEGER, INTENT(IN) :: IMOD, MDS(13), MTRACE(2), & 899 ODAT(35), NPT, IPRT(6), MPI_COMM 900 REAL, INTENT(INOUT) :: XPT(NPT), YPT(NPT) 901 LOGICAL, INTENT(INOUT) :: FLGRD(NOGRP,NGRPP), FLG(NOGRP),& 902 FLGR2(NOGRP,NGRPP), PRTFRM 903 CHARACTER, INTENT(IN) :: FEXT*(*) 904 CHARACTER(LEN=10), INTENT(IN) :: PNAMES(NPT) 905 LOGICAL, INTENT(IN), OPTIONAL :: FLAGSTIDEIN(4) 906 !/ 907 !/ ------------------------------------------------------------------- / 908 !/ Local parameters 909 !/ 910 INTEGER :: IE, IFL, IFT, IERR, NTTOT, NTLOC, & 911 NTTARG, IK, IP, ITH, INTYPE, IX, IY, & 912 J, J0, TOUT(2), TLST(2), ISEA, IS, & 913 K, I1, I2, JSEA, NTTMAX 914 INTEGER :: ISTEP, ISP, IW 915 INTEGER :: IERR_MPI, BGROUP, LGROUP 916 INTEGER, ALLOCATABLE :: TMPRNK(:) 917 INTEGER, ALLOCATABLE :: NT(:), MAPTST(:,:) 918 REAL :: DTTST, DEPTH, FRACOS 919 REAL :: FACTOR 920 LOGICAL :: OPENED 921 CHARACTER(LEN=8) :: STTIME 922 CHARACTER(LEN=10) :: STDATE 923 CHARACTER(LEN=12) :: FORMAT 924 CHARACTER(LEN=23) :: DTME21 925 CHARACTER(LEN=30) :: LFILE, TFILE 926 !/ 927 !/ ------------------------------------------------------------------- / 928 ! 929 ! 1. Set-up of data structures and I/O ----------------------------- / 930 ! 1.a Point to proper data structures. 931 ! 932 CALL W3SETO ( IMOD, MDS(2), MDS(3) ) 933 CALL W3SETG ( IMOD, MDS(2), MDS(3) ) 934 CALL W3SETW ( IMOD, MDS(2), MDS(3) ) 935 CALL W3SETA ( IMOD, MDS(2), MDS(3) ) 936 CALL W3SETI ( IMOD, MDS(2), MDS(3) ) Page 8 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 937 ! 938 ! 1.b Number of processors and processor number. 939 ! Overwrite some initializations from W3ODATMD. 940 ! 941 ! ******************************************************* 942 ! *** NOTE : OUTPUT PROCESSOR ASSIGNMENT NEEDS TO BE *** 943 ! *** CONSISTENT WITH ASSIGNMENT IN WMINIT. *** 944 ! ******************************************************* 945 ! 946 MPI_COMM_WAVE = MPI_COMM 947 CALL MPI_COMM_SIZE ( MPI_COMM_WAVE, NTPROC, IERR_MPI ) 948 NAPROC = NTPROC 949 CALL MPI_COMM_RANK ( MPI_COMM_WAVE, IAPROC, IERR_MPI ) 950 IAPROC = IAPROC + 1 951 ! 952 IF ( IOSTYP .LE. 1 ) THEN 953 ! 954 NAPFLD = MAX(1,NAPROC-1) 955 NAPPNT = MAX(1,NAPROC-2) 956 NAPTRK = MAX(1,NAPROC-5) 957 NAPRST = NAPROC 958 NAPBPT = MAX(1,NAPROC-3) 959 NAPPRT = MAX(1,NAPROC-4) 960 ! 961 ELSE 962 ! 963 NAPPNT = NAPROC 964 IF ( UNIPTS .AND. UPPROC ) NAPROC = MAX(1,NTPROC - 1) 965 NAPFLD = NAPROC 966 NAPRST = NAPROC 967 NAPBPT = NAPROC 968 NAPTRK = NAPROC 969 NAPPRT = NAPROC 970 ! 971 IF ( IOSTYP .EQ. 2 ) THEN 972 NAPROC = MAX(1,NAPROC-1) 973 ELSE IF ( IOSTYP .EQ. 3 ) THEN 974 ! 975 ! For field or coupling output 976 ! 977 IF ( ODAT( 3).GT.0 .OR. ODAT(33).GT.0 ) THEN 978 NAPFLD = NAPROC 979 NAPROC = MAX(1,NAPROC-1) 980 END IF 981 IF ( ODAT(13).GT.0 ) THEN 982 NAPTRK = NAPROC 983 NAPROC = MAX(1,NAPROC-1) 984 END IF 985 IF ( ODAT(28).GT.0 ) THEN 986 NAPPRT = NAPROC 987 NAPROC = MAX(1,NAPROC-1) 988 END IF 989 IF ( ODAT( 8).GT.0 ) NAPPNT = NAPROC 990 IF ( ODAT(18).GT.0 ) NAPRST = NAPROC 991 IF ( ODAT(23).GT.0 ) NAPBPT = NAPROC 992 IF ( ( ODAT( 8).GT.0 .OR. ODAT(18).GT.0 .OR. & 993 ODAT(23).GT.0 ) ) NAPROC = MAX(1,NAPROC-1) Page 9 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 994 END IF 995 END IF 996 ! 997 FRACOS = 100. * REAL(NTPROC-NAPROC) / REAL(NTPROC) 998 IF ( FRACOS.GT.CRITOS .AND. IAPROC.EQ.NAPERR ) & 999 WRITE (NDSE,8002) FRACOS 1000 ! 1001 IF ( NAPROC .EQ. NTPROC ) THEN 1002 MPI_COMM_WCMP = MPI_COMM_WAVE 1003 ELSE 1004 CALL MPI_COMM_GROUP ( MPI_COMM_WAVE, BGROUP, IERR_MPI ) 1005 ALLOCATE ( TMPRNK(NAPROC) ) 1006 DO J=1, NAPROC 1007 TMPRNK(J) = J - 1 1008 END DO 1009 CALL MPI_GROUP_INCL ( BGROUP, NAPROC, TMPRNK, LGROUP, & 1010 IERR_MPI ) 1011 CALL MPI_COMM_CREATE ( MPI_COMM_WAVE, LGROUP, & 1012 MPI_COMM_WCMP, IERR_MPI ) 1013 CALL MPI_GROUP_FREE ( LGROUP, IERR_MPI ) 1014 CALL MPI_GROUP_FREE ( BGROUP, IERR_MPI ) 1015 DEALLOCATE ( TMPRNK ) 1016 END IF 1017 ! 1018 ! 1.c Open files without unpacking MDS ,,, 1019 ! 1020 IE = LEN_TRIM(FEXT) 1021 LFILE = 'log.' // FEXT(:IE) 1022 IFL = LEN_TRIM(LFILE) 1023 IW = 1 + INT ( LOG10 ( REAL(NAPROC) + 0.5 ) ) 1024 IW = MAX ( 3 , MIN ( 9 , IW ) ) 1025 WRITE (FORMAT,'(A5,I1.1,A1,I1.1,A4)') & 1026 '(A4,I', IW, '.', IW, ',2A)' 1027 WRITE (TFILE,FORMAT) 'test', & 1028 OUTPTS(IMOD)%IAPROC, '.', FEXT(:IE) 1029 IFT = LEN_TRIM(TFILE) 1030 J = LEN_TRIM(FNMPRE) 1031 ! 1032 IF ( OUTPTS(IMOD)%IAPROC .EQ. OUTPTS(IMOD)%NAPLOG ) & 1033 OPEN (MDS(1),FILE=FNMPRE(:J)//LFILE(:IFL),ERR=888,IOSTAT=IERR) 1034 ! OPEN (MDS(1),FILE='/var/tmp/'//LFILE(:IFL),ERR=888,IOSTAT=IERR) 1035 ! 1036 IF ( MDS(3).NE.MDS(1) .AND. MDS(3).NE.MDS(4) .AND. TSTOUT ) THEN 1037 INQUIRE (MDS(3),OPENED=OPENED) 1038 IF ( .NOT. OPENED ) OPEN & 1039 (MDS(3),FILE=FNMPRE(:J)//TFILE(:IFT),ERR=889,IOSTAT=IERR) 1040 END IF 1041 ! 1042 ! 1.d Dataset unit numbers 1043 ! 1044 NDS = MDS 1045 NDSO = NDS(1) 1046 NDSE = NDS(2) 1047 NDST = NDS(3) 1048 SCREEN = NDS(4) 1049 ! 1050 ! 1.e Subroutine tracing Page 10 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1051 ! 1052 CALL ITRACE ( MTRACE(1), MTRACE(2) ) 1053 ! 1054 ! 1.f Initial and test outputs 1055 ! 1056 IF ( IAPROC .EQ. NAPLOG ) THEN 1057 CALL WWDATE ( STDATE ) 1058 CALL WWTIME ( STTIME ) 1059 WRITE (NDSO,900) WWVER, STDATE, STTIME 1060 END IF 1061 ! 1062 ! 2. Model defintition ---------------------------------------------- / 1063 ! 2.a Read model defintition file 1064 ! 1065 CALL W3IOGR ( 'READ', NDS(5), IMOD, FEXT ) 1066 ! Update of output parameter flags based on mod_def parameters (for 3D arrays) 1067 CALL W3FLGRDUPDT ( NDSO, NDSE, FLGRD, FLGR2, FLG ) 1068 1069 IF ( FLAGLL ) THEN 1070 FACTOR = 1. 1071 ELSE 1072 FACTOR = 1.E-3 1073 END IF 1074 IF ( IAPROC .EQ. NAPLOG ) WRITE (NDSO,920) 1075 ! 1076 ! 2.b Save MAPSTA 1077 ! 1078 ALLOCATE ( MAPTST(NY,NX) ) 1079 MAPTST = MAPSTA 1080 ! 1081 ! 2.c MPP preparation 1082 ! 2.c.1 Set simple counters and variables 1083 ! 1084 IF ( IAPROC .LE. NAPROC ) THEN 1085 NSEAL = 1 + (NSEA-IAPROC)/NAPROC 1086 ELSE 1087 NSEAL = 0 1088 END IF 1089 NSEALM = 1 + (NSEA-1)/NAPROC 1090 IF ( NSEA .LT. NAPROC ) GOTO 820 1091 IF ( NSPEC .LT. NAPROC ) GOTO 821 1092 ! 1093 ! 2.c.2 Allocate arrays 1094 ! 1095 IF ( IAPROC .LE. NAPROC ) THEN 1096 CALL W3DIMW ( IMOD, NDSE, NDST ) 1097 ELSE 1098 CALL W3DIMW ( IMOD, NDSE, NDST, .FALSE. ) 1099 END IF 1100 CALL W3DIMA ( IMOD, NDSE, NDST ) 1101 CALL W3DIMI ( IMOD, NDSE, NDST , FLAGSTIDEIN ) 1102 ! 1103 ! 2.c.3 Calculated expected number of prop. calls per processor 1104 ! 1105 NTTOT = 0 1106 DO IK=1, NK 1107 NTLOC = 1 + INT(DTMAX/(DTCFL*SIG(IK)/SIG(1))-0.001) Page 11 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1108 NTTOT = NTTOT + NTLOC*NTH 1109 END DO 1110 NTTARG = 1 + (NTTOT-1)/NAPROC 1111 NTTARG = NTTARG + INT(DTMAX/(DTCFL*SIG(NK)/SIG(1))-0.001) 1112 NTTMAX = NTTARG + 5 1113 ! 1114 ! 2.c.4 Initialize IAPPRO 1115 ! 1116 IAPPRO = 1 1117 ALLOCATE ( NT(NSPEC) ) 1118 NT = NTTOT 1119 ! 1120 DO 1121 ! 1122 ! 2.c.5 First sweep filling IAPPRO 1123 ! 1124 DO IP=1, NAPROC 1125 ISTEP = IP 1126 ISP = 0 1127 NT(IP) = 0 1128 DO J=1, 1+NSPEC/NAPROC 1129 ISP = ISP + ISTEP 1130 IF ( MOD(J,2) .EQ. 1 ) THEN 1131 ISTEP = 2*(NAPROC-IP) + 1 1132 ELSE 1133 ISTEP = 2*IP - 1 1134 END IF 1135 IF ( ISP .LE. NSPEC ) THEN 1136 IK = 1 + (ISP-1)/NTH 1137 NTLOC = 1 + INT(DTMAX/(DTCFL*SIG(IK)/SIG(1))-0.001) 1138 IF ( NT(IP)+NTLOC .LE. NTTARG ) THEN 1139 IAPPRO(ISP) = IP 1140 NT(IP) = NT(IP) + NTLOC 1141 ELSE 1142 IAPPRO(ISP) = -1 1143 END IF 1144 END IF 1145 END DO 1146 END DO 1147 ! 1148 ! 2.c.6 Second sweep filling IAPPRO 1149 ! 1150 DO IP=1, NAPROC 1151 IF ( NT(IP) .LT. NTTARG ) THEN 1152 DO ISP=1, NSPEC 1153 IF ( IAPPRO(ISP) .EQ. -1 ) THEN 1154 IK = 1 + (ISP-1)/NTH 1155 NTLOC = 1 + INT(DTMAX/(DTCFL*SIG(IK)/SIG(1))-0.001) 1156 IF ( NT(IP)+NTLOC .LE. NTTARG ) THEN 1157 IAPPRO(ISP) = IP 1158 NT(IP) = NT(IP) + NTLOC 1159 END IF 1160 END IF 1161 END DO 1162 END IF 1163 END DO 1164 ! Page 12 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1165 ! 2.c.7 Check if all served 1166 ! 1167 IF ( MINVAL(IAPPRO(1:NSPEC)) .GT. 0 ) THEN 1168 EXIT 1169 ELSE 1170 NTTARG = NTTARG + 1 1171 IF ( NTTARG .GE. NTTMAX ) EXIT 1172 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,8028) 1173 END IF 1174 ! 1175 END DO 1176 ! 1177 ! 2.c.8 Test output 1178 ! 1179 ! 2.c.9 Test if any spectral points are left out 1180 ! 1181 DO ISP=1, NSPEC 1182 IF ( IAPPRO(ISP) .EQ. -1. ) GOTO 829 1183 END DO 1184 ! 1185 DEALLOCATE ( NT ) 1186 ! 1187 ! 3. Model initialization ------------------------------------------- / 1188 ! 3.a Read restart file 1189 ! 1190 VA(:,:) = 0. 1191 CALL W3IORS ( 'READ', NDS(6), SIG(NK), INTYPE, IMOD ) 1192 FLCOLD = INTYPE.LE.1 .OR. INTYPE.EQ.4 1193 IF ( IAPROC .EQ. NAPLOG ) THEN 1194 IF (INTYPE.EQ.0) THEN 1195 WRITE (NDSO,930) 'cold start (idealized).' 1196 ELSE IF ( INTYPE .EQ. 1 ) THEN 1197 WRITE (NDSO,930) 'cold start (wind).' 1198 ELSE IF ( INTYPE .EQ. 4 ) THEN 1199 WRITE (NDSO,930) 'cold start (calm).' 1200 ELSE 1201 WRITE (NDSO,930) 'full restart.' 1202 END IF 1203 END IF 1204 ! 1205 ! 3.b Compare MAPSTA from grid and restart 1206 ! 1207 DO IX=1, NX 1208 DO IY=1, NY 1209 IF ( ABS(MAPSTA(IY,IX)).EQ.2 .OR. & 1210 ABS(MAPTST(IY,IX)).EQ.2 ) THEN 1211 MAPSTA(IY,IX) = SIGN ( MAPTST(IY,IX) , MAPSTA(IY,IX) ) 1212 END IF 1213 END DO 1214 END DO 1215 ! 1216 ! 3.c Initialization from wind fields 1217 ! 1218 FLIWND = INTYPE.EQ.1 1219 ! 1220 ! 3.d Initialization with calm conditions 1221 ! Page 13 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1222 IF ( INTYPE .EQ. 4 ) THEN 1223 VA(:,:) = 0. 1224 END IF 1225 ! 1226 ! 3.e Prepare propagation scheme 1227 ! 1228 IF ( .NOT. FLCUR ) FLCK = .FALSE. 1229 ! 1230 ! 4. Set-up output times -------------------------------------------- * 1231 ! 4.a Unpack ODAT 1232 ! 1233 DO J=1, NOTYPE 1234 J0 = (J-1)*5 1235 TONEXT(1,J) = ODAT(J0+1) 1236 TONEXT(2,J) = ODAT(J0+2) 1237 DTOUT ( J) = REAL ( ODAT(J0+3) ) 1238 TOLAST(1,J) = ODAT(J0+4) 1239 TOLAST(2,J) = ODAT(J0+5) 1240 END DO 1241 ! 1242 ! 4.b Check if output available 1243 ! 1244 FLOUT(1) = .FALSE. 1245 FLOGRD = FLGRD 1246 FLOG = FLG 1247 DO J=1, NOGRP 1248 DO K=1, NGRPP 1249 FLOUT(1) = FLOUT(1) .OR. FLOGRD(J,K) 1250 END DO 1251 END DO 1252 ! 1253 FLOUT(7) = .FALSE. 1254 FLOGR2 = FLGR2 1255 DO J=1, NOGRP 1256 DO K=1, NGRPP 1257 FLOUT(7) = FLOUT(7) .OR. FLOGR2(J,K) 1258 END DO 1259 END DO 1260 ! 1261 FLOUT(2) = NPT .GT. 0 1262 ! 1263 FLOUT(3) = .TRUE. 1264 ! 1265 FLOUT(4) = .TRUE. 1266 ! 1267 FLOUT(5) = FLBPO 1268 IF ( FLBPO ) THEN 1269 CALL W3DMO5 ( IMOD, NDSE, NDST, 4 ) 1270 ELSE 1271 DTOUT(5) = 0. 1272 END IF 1273 ! 1274 IX0 = MAX ( 1, IPRT(1) ) 1275 IXN = MIN ( NX, IPRT(2) ) 1276 IXS = MAX ( 1, IPRT(3) ) 1277 IY0 = MAX ( 1, IPRT(4) ) 1278 IYN = MIN ( NY, IPRT(5) ) Page 14 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1279 IYS = MAX ( 1, IPRT(6) ) 1280 FLFORM = PRTFRM 1281 FLOUT(6) = IX0.LE.IXN .AND. IY0.LE.IYN 1282 ! 1283 ! 4.c Get first time per output and overall. 1284 ! 1285 TOFRST(1) = -1 1286 TOFRST(2) = 0 1287 ! 1288 DO J=1, NOTYPE 1289 ! 1290 ! ... check time step 1291 ! 1292 DTOUT(J) = MAX ( 0. , DTOUT(J) ) 1293 FLOUT(J) = FLOUT(J) .AND. ( DTOUT(J) .GT. 0.5 ) 1294 ! 1295 ! ... get first time 1296 ! 1297 IF ( FLOUT(J) ) THEN 1298 TOUT = TONEXT(:,J) 1299 TLST = TOLAST(:,J) 1300 ! 1301 DO 1302 DTTST = DSEC21 ( TIME , TOUT ) 1303 IF ( ( J.NE.4 .AND. DTTST.LT.0. ) .OR. & 1304 ( J.EQ.4 .AND. DTTST.LE.0. ) ) THEN 1305 CALL TICK21 ( TOUT, DTOUT(J) ) 1306 ELSE 1307 EXIT 1308 END IF 1309 END DO 1310 ! 1311 ! ... reset first time 1312 ! 1313 TONEXT(:,J) = TOUT 1314 ! 1315 ! ... check last time 1316 ! 1317 DTTST = DSEC21 ( TOUT , TLST ) 1318 IF ( DTTST.LT.0.) FLOUT(J) = .FALSE. 1319 ! 1320 ! ... check overall first time 1321 ! 1322 IF ( FLOUT(J) ) THEN 1323 IF ( TOFRST(1).EQ.-1 ) THEN 1324 TOFRST = TOUT 1325 ELSE 1326 DTTST = DSEC21 ( TOUT , TOFRST ) 1327 IF ( DTTST.GT.0.) THEN 1328 TOFRST = TOUT 1329 END IF 1330 END IF 1331 END IF 1332 ! 1333 END IF 1334 ! 1335 END DO Page 15 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1336 ! 1337 ! 4.d Preprocessing for point output. 1338 ! 1339 IF ( FLOUT(2) ) CALL W3IOPP ( NPT, XPT, YPT, PNAMES, IMOD ) 1340 ! 1341 ! 5. Define wavenumber grid ----------------------------------------- * 1342 ! 5.a Calculate depth 1343 ! 1344 MAPTST = MOD(MAPST2/2,2) 1345 MAPST2 = MAPST2 - 2*MAPTST 1346 ! 1347 !Li For multi-resolution SMC grid, these 1-NX and 1-NY nested loops 1348 !Li may miss the refined cells as they are not 1-1 corresponding to 1349 !Li the (Nx,NY) regular grid. The loop is now modified to run over 1350 !Li full NSEA points. JGLi24Jan2012 1351 !Li DO IY=1, NY 1352 !Li DO IX=1, NX 1353 !Li ISEA = MAPFS(IY,IX) 1354 DO ISEA=1, NSEA 1355 IX = MAPSF(ISEA,1) 1356 IY = MAPSF(ISEA,2) 1357 !Li IF ( ISEA .NE. 0) THEN 1358 DW(ISEA) = MAX ( 0. , WLV(ISEA)-ZB(ISEA) ) 1359 IF ( WLV(ISEA)-ZB(ISEA) .LE.0. ) THEN 1360 MAPTST(IY,IX) = 1 1361 MAPSTA(IY,IX) = -ABS(MAPSTA(IY,IX)) 1362 IF ( MOD(ISEA-IAPROC,NAPROC) .EQ. 0 ) THEN 1363 JSEA = 1 + (ISEA-1)/NAPROC 1364 VA(:,JSEA) = 0. 1365 END IF 1366 END IF 1367 !Li END IF 1368 !Li END DO 1369 END DO 1370 ! 1371 MAPST2 = MAPST2 + 2*MAPTST 1372 ! 1373 DEALLOCATE ( MAPTST ) 1374 ! 1375 ! 5.b Fill wavenumber and group velocity arrays. 1376 ! 1377 DO IS=0, NSEA 1378 IF (IS.GT.0) THEN 1379 DEPTH = MAX ( DMIN , DW(IS) ) 1380 ELSE 1381 DEPTH = DMIN 1382 END IF 1383 ! 1384 DO IK=0, NK+1 1385 ! 1386 ! Calculate wavenumbers and group velocities. 1387 CALL WAVNU1(SIG(IK),DEPTH,WN(IK,IS),CG(IK,IS)) 1388 ! 1389 END DO 1390 END DO 1391 ! 1392 ! Commented by FA with version 4.12 Page 16 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1393 ! DO IK=1, NK 1394 ! CG(IK,0) = CG(IK,1) 1395 ! WN(IK,0) = WN(IK,1) 1396 ! END DO 1397 ! 1398 ! 6. Initialize arrays ---------------------------------------------- / 1399 ! Some initialized in W3IORS 1400 ! 1401 UA = 0. 1402 UD = 0. 1403 U10 = 0. 1404 U10D = 0. 1405 ! 1406 AS = UNDEF 1407 ! 1408 AS (0) = 0. 1409 DW (0) = 0. 1410 ! 1411 ! 7. Write info to log file ----------------------------------------- / 1412 ! 1413 IF ( IAPROC .EQ. NAPLOG ) THEN 1414 ! 1415 WRITE (NDSO,970) GNAME 1416 IF ( FLLEV ) WRITE (NDSO,971) 'Prescribed' 1417 IF (.NOT. FLLEV ) WRITE (NDSO,971) 'No' 1418 IF ( FLCUR ) WRITE (NDSO,972) 'Prescribed' 1419 IF (.NOT. FLCUR ) WRITE (NDSO,972) 'No' 1420 IF ( FLWIND ) WRITE (NDSO,973) 'Prescribed' 1421 IF (.NOT. FLWIND) WRITE (NDSO,973) 'No' 1422 IF ( FLICE ) WRITE (NDSO,974) 'Prescribed' 1423 IF (.NOT. FLICE ) WRITE (NDSO,974) 'No' 1424 ! 1425 IF ( FLMDN ) WRITE (NDSO,9972) 'Prescribed' 1426 IF (.NOT. FLMDN ) WRITE (NDSO,9972) 'No' 1427 IF ( FLMTH ) WRITE (NDSO,9971) 'Prescribed' 1428 IF (.NOT. FLMTH ) WRITE (NDSO,9971) 'No' 1429 IF ( FLMVS ) WRITE (NDSO,9970) 'Prescribed' 1430 IF (.NOT. FLMVS ) WRITE (NDSO,9970) 'No' 1431 1432 IF ( FLIC1 ) WRITE (NDSO,9973) 'Prescribed' 1433 IF (.NOT. FLIC1 ) WRITE (NDSO,9973) 'No' 1434 IF ( FLIC2 ) WRITE (NDSO,9974) 'Prescribed' 1435 IF (.NOT. FLIC2 ) WRITE (NDSO,9974) 'No' 1436 IF ( FLIC3 ) WRITE (NDSO,9975) 'Prescribed' 1437 IF (.NOT. FLIC3 ) WRITE (NDSO,9975) 'No' 1438 IF ( FLIC4 ) WRITE (NDSO,9976) 'Prescribed' 1439 IF (.NOT. FLIC4 ) WRITE (NDSO,9976) 'No' 1440 IF ( FLIC5 ) WRITE (NDSO,9977) 'Prescribed' 1441 IF (.NOT. FLIC5 ) WRITE (NDSO,9977) 'No' 1442 1443 IF ( FLOUT(1) ) THEN 1444 WRITE (NDSO,975) 1445 DO J=1,NOGRP 1446 DO K=1,NGRPP 1447 IF ( FLOGRD(J,K) ) WRITE (NDSO,976) IDOUT(J,K) 1448 END DO 1449 END DO Page 17 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1450 END IF 1451 ! 1452 IF ( FLOUT(7) ) THEN 1453 WRITE (NDSO,987) 1454 DO J=1,NOGRP 1455 DO K=1,NGRPP 1456 IF ( FLOGRD(J,K) ) WRITE (NDSO,976) IDOUT(J,K) 1457 END DO 1458 END DO 1459 END IF 1460 ! 1461 IF ( FLOUT(2) ) THEN 1462 WRITE (NDSO,977) NOPTS 1463 IF ( NOPTS .EQ. 0 ) THEN 1464 WRITE (NDSO,978) 1465 ELSE 1466 IF ( FLAGLL ) THEN 1467 WRITE (NDSO,979) 1468 ELSE 1469 WRITE (NDSO,985) 1470 END IF 1471 DO IP=1, NOPTS 1472 IF ( FLAGLL ) THEN 1473 WRITE (NDSO,980) IP, FACTOR*PTLOC(1,IP), & 1474 FACTOR*PTLOC(2,IP), PTNME(IP) 1475 ELSE 1476 WRITE (NDSO,986) IP, FACTOR*PTLOC(1,IP), & 1477 FACTOR*PTLOC(2,IP), PTNME(IP) 1478 END IF 1479 END DO 1480 END IF 1481 END IF 1482 ! 1483 CALL STME21 ( TIME , DTME21 ) 1484 WRITE (NDSO,981) DTME21 1485 IF (FLLEV) THEN 1486 CALL STME21 ( TLEV , DTME21 ) 1487 WRITE (NDSO,982) DTME21 1488 END IF 1489 IF (FLICE) THEN 1490 CALL STME21 ( TICE , DTME21 ) 1491 WRITE (NDSO,983) DTME21 1492 END IF 1493 ! 1494 WRITE (NDSO,984) 1495 ! 1496 END IF 1497 ! 1498 IF ( NOPTS .EQ. 0 ) FLOUT(2) = .FALSE. 1499 ! 1500 ! 8. Final MPI set up ----------------------------------------------- / 1501 ! 1502 CALL W3MPII ( IMOD ) 1503 CALL W3MPIO ( IMOD ) 1504 IF ( FLOUT(2) ) CALL W3MPIP ( IMOD ) 1505 ! 1506 RETURN Page 18 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1507 ! 1508 ! Escape locations read errors : 1509 ! 1510 820 CONTINUE 1511 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,8020) NSEA, NAPROC 1512 CALL EXTCDE ( 820 ) 1513 ! 1514 821 CONTINUE 1515 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,8021) NSPEC, NAPROC 1516 CALL EXTCDE ( 821 ) 1517 ! 1518 829 CONTINUE 1519 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,8029) 1520 CALL EXTCDE ( 829 ) 1521 1522 ! 1523 888 CONTINUE 1524 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSE,8000) IERR 1525 CALL EXTCDE ( 1 ) 1526 ! 1527 889 CONTINUE 1528 ! === no process number filtering for test file !!! === 1529 WRITE (NDSE,8001) IERR 1530 CALL EXTCDE ( 2 ) 1531 ! 1532 ! Formats 1533 ! 1534 900 FORMAT ( ' WAVEWATCH III log file ', & 1535 ' version ',A/ & 1536 ' ==================================', & 1537 '==================================='/ & 1538 50X,'date : ',A10/50X,'time : ',A8) 1539 920 FORMAT (/' Model definition file read.') 1540 930 FORMAT ( ' Restart file read; ',A) 1541 ! 1542 970 FORMAT (/' Grid name : ',A) 1543 971 FORMAT (/' ',A,' water levels.') 1544 972 FORMAT ( ' ',A,' curents.') 1545 973 FORMAT ( ' ',A,' winds.') 1546 974 FORMAT ( ' ',A,' ice fields.') 1547 9972 FORMAT( ' ',A,' mud density.') 1548 9971 FORMAT( ' ',A,' mud thickness.') 1549 9970 FORMAT( ' ',A,' mud viscosity.') 1550 9973 FORMAT( ' ',A,' ice parameter 1') 1551 9974 FORMAT( ' ',A,' ice parameter 2') 1552 9975 FORMAT( ' ',A,' ice parameter 3') 1553 9976 FORMAT( ' ',A,' ice parameter 4') 1554 9977 FORMAT( ' ',A,' ice parameter 5') 1555 1556 ! 1557 975 FORMAT (/' Gridded output fields : '/ & 1558 '--------------------------------------------------') 1559 976 FORMAT ( ' ',A) 1560 ! 1561 977 FORMAT (/' Point output requested for',I4,' points : '/ & 1562 '------------------------------------------') 1563 978 FORMAT (/' Point output disabled') Page 19 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1564 979 FORMAT & 1565 (/' point | longitude | latitude | name '/ & 1566 ' --------|-------------|-------------|----------------') 1567 985 FORMAT & 1568 (/' point | X | Y | name '/ & 1569 ' --------|-------------|-------------|----------------') 1570 980 FORMAT ( 5X,I5,' |',2(F10.2,' |'),2X,A) 1571 986 FORMAT ( 5X,I5,' |',2(F8.1,'E3 |'),2X,A) 1572 ! 1573 981 FORMAT (/' Initial time : ',A) 1574 982 FORMAT ( ' Water level time : ',A) 1575 983 FORMAT ( ' Ice field time : ',A) 1576 ! 1577 984 FORMAT (// & 1578 43X,' | input | output |'/ & 1579 43X,' |-------------|---------------|'/ & 1580 8X,' step | pass | date time | b w l c i d |', & 1581 ' g p t r b f c |'/ & 1582 8X,'--------|------|---------------------|-------------|', & 1583 '---------------|'/ & 1584 8X,'--------+------+---------------------+-------------+', & 1585 '---------------+') 1586 987 FORMAT (/' Coupling output fields : '/ & 1587 '--------------------------------------------------') 1588 ! 1589 8000 FORMAT (/' *** WAVEWATCH III ERROR IN W3INIT : '/ & 1590 ' ERROR IN OPENING LOG FILE'/ & 1591 ' IOSTAT =',I5/) 1592 8001 FORMAT (/' *** WAVEWATCH III ERROR IN W3INIT : '/ & 1593 ' ERROR IN OPENING TEST FILE'/ & 1594 ' IOSTAT =',I5/) 1595 8002 FORMAT (/' *** WAVEWATCH III WARNING IN W3INIT : '/ & 1596 ' SIGNIFICANT PART OF RESOURCES RESERVED FOR', & 1597 ' OUTPUT :',F6.1,'%'/) 1598 8020 FORMAT (/' *** WAVEWATCH III ERROR IN W3INIT : '/ & 1599 ' NUMBER OF SEA POINTS LESS THAN NUMBER OF PROC.'/ & 1600 ' NSEA, NAPROC =',2I8/) 1601 8021 FORMAT (/' *** WAVEWATCH III ERROR IN W3INIT : '/ & 1602 ' NUMBER OF SPECTRAL POINTS LESS THAN NUMBER OF PROC.'/ & 1603 ' NSEA, NAPROC =',2I8/) 1604 8028 FORMAT (/' *** WAVEWATCH III WARNING IN W3INIT : '/ & 1605 ' INCREASING TARGET IN MPP PROPAGATION MAP.'/ & 1606 ' IMBALANCE BETWEEN OVERALL AND CFL TIME STEPS'/) 1607 8029 FORMAT (/' *** WAVEWATCH III ERROR IN W3INIT : '/ & 1608 ' SOMETHING WRONG WITH MPP PROPAGATION MAP.'/ & 1609 ' CALL HENDRIK !!!'/) 1610 ! 1611 !/ 1612 !/ End of W3INIT ----------------------------------------------------- / 1613 !/ 1614 END SUBROUTINE W3INIT Page 20 Source Listing W3INIT 2014-09-16 16:48 Entry Points w3initmd.f90 ENTRY POINTS Name w3initmd_mp_w3init_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 8000 Label 1051 986 8001 Label 1054 991 8002 Label 1057 461 8020 Label 1060 973 8021 Label 1063 977 8028 Label 1066 634 8029 Label 1069 981 820 Label 972 552 821 Label 976 553 829 Label 980 644 888 Label 985 495 889 Label 989 501 900 Label 996 521 920 Label 1001 536 930 Label 1002 657,659,661,663 970 Label 1004 877 971 Label 1005 878,879 972 Label 1006 880,881 973 Label 1007 882,883 974 Label 1008 884,885 975 Label 1019 906 976 Label 1021 909,918 977 Label 1023 924 978 Label 1025 926 979 Label 1026 929 980 Label 1032 935 981 Label 1035 946 982 Label 1036 949 983 Label 1037 953 984 Label 1039 956 985 Label 1029 931 986 Label 1033 938 987 Label 1048 915 9970 Label 1011 891,892 9971 Label 1010 889,890 9972 Label 1009 887,888 9973 Label 1012 894,895 9974 Label 1013 896,897 9975 Label 1014 898,899 9976 Label 1015 900,901 9977 Label 1016 902,903 ABS Func 671 scalar 671,672,823 AS Local 347 R(4) 4 1 1 PTR 347,868,870 BGROUP Local 377 I(4) 4 scalar 466,471,476 Page 21 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References CG Local 346 R(4) 4 2 1 PTR 346,849 CONSTANTS Module 317 317 CRITOS Param 460 R(4) 4 scalar 460 DEPTH Local 380 R(4) 4 scalar 841,843,849 DMIN Local 334 R(4) 4 scalar PTR 334,841,843 DSEC21 Func 329 R(4) 4 scalar 329,764,779,788 DTCFL Local 334 R(4) 4 scalar PTR 334,569,573,599,617 DTMAX Local 334 R(4) 4 scalar PTR 334,569,573,599,617 DTME21 Local 386 CHAR 23 scalar 945,946,948,949,952,953 DTOUT Local 340 R(4) 4 1 1 PTR 340,699,733,754,755,767 DTTST Local 380 R(4) 4 scalar 764,765,766,779,780,788,789 DW Local 346 R(4) 4 1 1 PTR 346,820,841,871 E3DF Local 319 I(4) 4 2 1 PTR 319 EF Local 321 R(4) 4 2 1 PTR 321 EXTCDE Subr 328 328,974,978,982,987,992 FACTOR Local 381 R(4) 4 scalar 532,534,935,936,938,939 FEXT Dummy 114 CHAR scalar ARG,IN 482,483,490,527 FLAGLL Local 333 L(4) 4 scalar 333,531,928,934 FLAGSTIDEIN Dummy 116 L(4) 4 1 4 ARG,IN 563 FLBPI Local 342 L(4) 4 scalar PTR 342 FLBPO Local 341 L(4) 4 scalar PTR 341,729,730 FLCK Local 335 L(4) 4 scalar PTR 335,690 FLCOLD Local 346 L(4) 4 scalar PTR 346,654 FLCUR Local 349 L(4) 4 scalar PTR 349,690,880,881 FLFORM Local 344 L(4) 4 scalar PTR 344,742 FLG Dummy 115 L(4) 4 1 10 ARG,INOUT 529,708 FLGR2 Dummy 115 L(4) 4 2 200 ARG,INOUT 529,716 FLGRD Dummy 115 L(4) 4 2 200 ARG,INOUT 529,707 FLIC1 Local 350 L(4) 4 scalar PTR 350,894,895 FLIC2 Local 350 L(4) 4 scalar PTR 350,896,897 FLIC3 Local 350 L(4) 4 scalar PTR 350,898,899 FLIC4 Local 350 L(4) 4 scalar PTR 350,900,901 FLIC5 Local 350 L(4) 4 scalar PTR 350,902,903 FLICE Local 349 L(4) 4 scalar PTR 349,884,885,951 FLIWND Local 346 L(4) 4 scalar PTR 346,680 FLLEV Local 349 L(4) 4 scalar PTR 349,878,879,947 FLMDN Local 349 L(4) 4 scalar PTR 349,887,888 FLMTH Local 349 L(4) 4 scalar PTR 349,889,890 FLMVS Local 350 L(4) 4 scalar PTR 350,891,892 FLOG Local 345 L(4) 4 1 1 PTR 345,708 FLOGR2 Local 345 L(4) 4 2 1 PTR 345,716,719 FLOGRD Local 341 L(4) 4 2 1 PTR 341,707,711,909,918 FLOUT Local 341 L(4) 4 1 1 PTR 341,706,711,715,719,723,725,727,72 9,743,755,759,780,784,801,905,914, 923,960,966 FLWIND Local 349 L(4) 4 scalar PTR 349,882,883 FNMPRE Local 343 CHAR 80 scalar 343,492,495,501 FORMAT Local 385 CHAR 12 scalar 487,489 FRACOS Local 380 R(4) 4 scalar 459,460,461 GNAME Local 335 CHAR 30 scalar PTR 335,877 HS Local 321 R(4) 4 1 1 PTR 321 I1 Local 375 I(4) 4 scalar I2 Local 375 I(4) 4 scalar IAPPRO Local 346 I(4) 4 1 1 PTR 346,578,601,604,615,619,629,644 IAPROC Local 338 I(4) 4 scalar PTR 338,411,412,460,518,536,546,547,55 Page 22 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 7,634,655,824,875,973,977,981,986 IAPROC Local 490 I(4) 4 scalar 490,494 ICLOSE Local 334 I(4) 4 scalar PTR 334 IDOUT Local 342 CHAR 20 2 200 342,909,918 IE Local 372 I(4) 4 scalar 482,483,490 IERR Local 372 I(4) 4 scalar 495,501,986,991 IERR_MPI Local 377 I(4) 4 scalar 409,411,466,472,474,475,476 IFL Local 372 I(4) 4 scalar 484,495 IFT Local 372 I(4) 4 scalar 491,501 IK Local 373 I(4) 4 scalar 568,569,598,599,616,617,846,849 IMOD Dummy 114 I(4) 4 scalar ARG,IN 394,395,396,397,398,490,494,527,55 8,560,562,563,653,731,801,964,965, 966 INT Func 485 scalar 485,569,573,599,617 INTYPE Local 373 I(4) 4 scalar 653,654,656,658,660,680,684 IOSTYP Local 344 I(4) 4 scalar 344,414,433,435 IP Local 373 I(4) 4 scalar 586,587,589,593,595,600,601,602,61 2,613,618,619,620,933,935,936,938, 939 IPRT Dummy 116 I(4) 4 1 6 ARG,IN 736,737,738,739,740,741 IPTINT Local 342 I(4) 4 3 1 PTR 342 IS Local 374 I(4) 4 scalar 839,840,841,849 ISEA Local 374 I(4) 4 scalar 816,817,818,820,821,824,825 ISP Local 376 I(4) 4 scalar 588,591,597,598,601,604,614,615,61 6,619,643,644 ISTEP Local 376 I(4) 4 scalar 587,591,593,595 ITH Local 373 I(4) 4 scalar ITRACE Subr 328 328,514 IW Local 376 I(4) 4 scalar 485,486,488 IX Local 373 I(4) 4 scalar 669,671,672,673,817,822,823 IX0 Local 343 I(4) 4 scalar PTR 343,736,743 IXN Local 343 I(4) 4 scalar PTR 343,737,743 IXS Local 343 I(4) 4 scalar PTR 343,738 IY Local 373 I(4) 4 scalar 670,671,672,673,818,822,823 IY0 Local 343 I(4) 4 scalar PTR 343,739,743 IYN Local 343 I(4) 4 scalar PTR 343,740,743 IYS Local 344 I(4) 4 scalar PTR 344,741 J Local 374 I(4) 4 scalar 468,469,492,495,501,590,592,695,69 6,697,698,699,700,701,709,711,717, 719,750,754,755,759,760,761,765,76 6,767,775,780,784,907,909,916,918 J0 Local 374 I(4) 4 scalar 696,697,698,699,700,701 JSEA Local 375 I(4) 4 scalar 825,826 K Local 375 I(4) 4 scalar 710,711,718,719,908,909,917,918 LEN_TRIM Func 482 scalar 482,484,491,492 LFILE Local 387 CHAR 30 scalar 483,484,495 LGROUP Local 377 I(4) 4 scalar 471,473,475 LOG10 Func 485 scalar 485 MAPFS Local 332 I(4) 4 2 1 PTR 332 MAPSF Local 333 I(4) 4 2 1 PTR 333,817,818 MAPST2 Local 332 I(4) 4 2 1 PTR 332,806,807,833 MAPSTA Local 332 I(4) 4 2 1 PTR 332,541,671,673,823 MAPTST Local 379 I(4) 4 2 1 ALC 540,541,672,673,806,807,822,833,83 5 MAX Func 416 scalar 416,417,418,420,421,426,434,441,44 Page 23 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 5,449,455,486,736,738,739,741,754, 820,841 MDS Dummy 114 I(4) 4 1 13 ARG,IN 394,395,396,397,398,495,498,499,50 1,506 MIN Func 486 scalar 486,737,740 MINVAL Func 629 scalar 629 MOD Func 592 scalar 592,806,824 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 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 Dummy 116 I(4) 4 scalar ARG,IN 408 MPI_COMM_CREATE Subr 473 473 MPI_COMM_DUP_FN Subr 521 scalar Page 24 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_COMM_GROUP Subr 466 466 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_RANK Subr 411 411 MPI_COMM_SELF Param 235 I(4) 4 scalar MPI_COMM_SIZE Subr 409 409 MPI_COMM_WAVE Local 348 I(4) 4 scalar PTR 348,408,409,411,464,466,473 MPI_COMM_WCMP Local 348 I(4) 4 scalar PTR 348,464,474 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 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 Page 25 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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_FREE Subr 475 475,476 MPI_GROUP_INCL Subr 471 471 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 Page 26 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 27 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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_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 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 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_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 MTRACE Dummy 114 I(4) 4 1 2 ARG,IN 514 NAPBPT Local 339 I(4) 4 scalar PTR 339,420,429,453 NAPERR Local 338 I(4) 4 scalar PTR 338,460,634,973,977,981,986 NAPFLD Local 339 I(4) 4 scalar PTR 339,416,427,440 NAPLOG Local 338 I(4) 4 scalar PTR 338,518,536,655,875 NAPLOG Local 494 I(4) 4 scalar 494 NAPOUT Local 338 I(4) 4 scalar PTR 338 NAPPNT Local 339 I(4) 4 scalar PTR 339,417,425,451 Page 28 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References NAPPRT Local 340 I(4) 4 scalar PTR 340,421,431,448 NAPROC Local 338 I(4) 4 scalar PTR 338,410,416,417,418,419,420,421,42 5,426,427,428,429,430,431,434,440, 441,444,445,448,449,451,452,453,45 5,459,463,467,468,471,485,546,547, 551,552,553,557,572,586,590,593,61 2,824,825,973,977 NAPRST Local 339 I(4) 4 scalar PTR 339,419,428,452 NAPTRK Local 339 I(4) 4 scalar PTR 339,418,430,444 NDS Local 337 I(4) 4 1 1 PTR 337,506,507,508,509,510,527,653 NDSE Local 337 I(4) 4 scalar PTR 337,461,508,529,558,560,562,563,63 4,731,973,977,981,986,991 NDSO Local 337 I(4) 4 scalar PTR 337,507,521,529,536,657,659,661,66 3,877,878,879,880,881,882,883,884, 885,887,888,889,890,891,892,894,89 5,896,897,898,899,900,901,902,903, 906,909,915,918,924,926,929,931,93 5,938,946,949,953,956 NDST Local 337 I(4) 4 scalar PTR 337,509,558,560,562,563,731 NGRPP Param 345 I(4) 4 scalar 345,363,364,710,718,908,917 NK Local 335 I(4) 4 scalar PTR 335,568,573,653,846 NOGRP Param 345 I(4) 4 scalar 345,363,364,709,717,907,916 NOPTS Local 341 I(4) 4 scalar PTR 341,924,925,933,960 NOTYPE Local 344 I(4) 4 scalar 344,695,750 NPT Dummy 115 I(4) 4 scalar ARG,IN 362,366,723,801 NSEA Local 332 I(4) 4 scalar PTR 332,547,551,552,816,839,973 NSEAL Local 332 I(4) 4 scalar PTR 332,547,549 NSEALM Local 346 I(4) 4 scalar PTR 346,551 NSPEC Local 335 I(4) 4 scalar PTR 335,553,579,590,597,614,629,643,97 7 NT Local 379 I(4) 4 1 1 ALC 579,580,589,600,602,613,618,620,64 7 NTH Local 335 I(4) 4 scalar PTR 335,570,598,616 NTLOC Local 372 I(4) 4 scalar 569,570,599,600,602,617,618,620 NTPROC Local 337 I(4) 4 scalar PTR 337,409,410,426,459,463 NTTARG Local 373 I(4) 4 scalar 572,573,574,600,613,618,632,633 NTTMAX Local 375 I(4) 4 scalar 574,633 NTTOT Local 372 I(4) 4 scalar 567,570,572,580 NX Local 332 I(4) 4 scalar PTR 332,540,669,737 NY Local 332 I(4) 4 scalar PTR 332,540,670,740 ODAT Dummy 114 I(4) 4 1 35 ARG,IN 439,443,447,451,452,453,454,455,69 7,698,699,700,701 OPENED Local 382 L(4) 4 scalar 499,500 OUTPTS Local 343 RECORD 5960 1 1 ALC,TGT 343,490,494 P2MSF Local 319 I(4) 4 1 1 PTR 319 P2SMS Local 321 R(4) 4 2 1 PTR 321 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar PNAMES Dummy 115 CHAR 10 1 0 ARG,IN 801 PRTBLK Subr 330 330 PRTFRM Dummy 116 L(4) 4 scalar ARG,INOUT 742 PTIFAC Local 342 R(4) 4 2 1 PTR 342 PTLOC Local 342 R(4) 4 2 1 PTR 342,935,936,938,939 PTNME Local 341 CHAR 10 1 1 PTR 341,936,939 REAL Func 459 scalar 459,485,699 Page 29 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References SCREEN Local 337 I(4) 4 scalar PTR 337,510 SIG Local 335 R(4) 4 1 1 PTR 335,569,573,599,617,653,849 SIGN Func 673 scalar 673 STDATE Local 384 CHAR 10 scalar 519,521 STME21 Subr 329 329,945,948,952 STTIME Local 383 CHAR 8 scalar 520,521 TFILE Local 387 CHAR 30 scalar 489,491,501 TICE Local 336 I(4) 4 1 1 PTR 336,952 TICK21 Subr 329 329,767 TIME Local 336 I(4) 4 1 1 PTR 336,764,945 TLEV Local 336 I(4) 4 1 1 PTR 336,948 TLST Local 374 I(4) 4 1 2 761,779 TMPRNK Local 378 I(4) 4 1 1 ALC 467,469,471,477 TOFRST Local 340 I(4) 4 1 1 PTR 340,747,748,785,786,788,790 TOLAST Local 340 I(4) 4 2 1 PTR 340,700,701,761 TONEXT Local 340 I(4) 4 2 1 PTR 340,697,698,760,775 TOUT Local 374 I(4) 4 1 2 760,764,767,775,779,786,788,790 TRNX Local 334 R(4) 4 2 1 PTR 334 TRNY Local 334 R(4) 4 2 1 PTR 334 TSTOUT Param 498 L(4) 4 scalar 498 U10 Local 347 R(4) 4 1 1 PTR 347,865 U10D Local 347 R(4) 4 1 1 PTR 347,866 UA Local 347 R(4) 4 1 1 PTR 347,863 UD Local 347 R(4) 4 1 1 PTR 347,864 UNDEF Local 342 R(4) 4 scalar 342,868 UNIPTS Local 344 L(4) 4 scalar 344,426 UPPROC Local 344 L(4) 4 scalar 344,426 US3D Local 321 R(4) 4 2 1 PTR 321 US3DF Local 319 I(4) 4 1 1 PTR 319 UST Local 336 R(4) 4 1 1 PTR 336 USTDIR Local 336 R(4) 4 1 1 PTR 336 VA Local 336 R(4) 4 2 1 PTR 336,652,685,826 W3ADATMD Module 321 321,346,348 W3ARRYMD Module 330 330 W3DIMA Subr 321 321,562 W3DIMI Subr 322 322,563 W3DIMW Subr 320 320,558,560 W3DISPMD Module 351 351 W3DMO5 Subr 323 323,731 W3FLGRDUPDT Subr 324 324,529 W3GDATMD Module 319 319,332 W3IDATMD Module 322 322,349 W3INIT Subr 114 W3IOGOMD Module 324 324 W3IOGR Subr 325 325,527 W3IOGRMD Module 325 325 W3IOPOMD Module 327 327 W3IOPP Subr 327 327,801 W3IORS Subr 326 326,653 W3IORSMD Module 326 326 W3ODATMD Module 323 323,337 W3SERVMD Module 328 328 W3SETA Subr 321 321,397 W3SETG Subr 319 319,395 W3SETI Subr 322 322,398 Page 30 Source Listing W3INIT 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References W3SETO Subr 323 323,394 W3SETW Subr 320 320,396 W3TIMEMD Module 329 329 W3WDATMD Module 320 320,336 WAVNU1 Subr 351 351,849 WLV Local 336 R(4) 4 1 1 PTR 336,820,821 WN Local 346 R(4) 4 2 1 PTR 346,849 WWDATE Subr 328 328,519 WWTIME Subr 328 328,520 WWVER Param 521 CHAR 10 scalar 521 XPT Dummy 115 R(4) 4 1 0 ARG,INOUT 801 YPT Dummy 115 R(4) 4 1 0 ARG,INOUT 801 ZB Local 334 R(4) 4 1 1 PTR 334,820,821 Page 31 Source Listing W3INIT 2014-09-16 16:48 w3initmd.f90 1615 !/ ------------------------------------------------------------------- / 1616 SUBROUTINE W3MPII ( IMOD ) 1617 !/ 1618 !/ +-----------------------------------+ 1619 !/ | WAVEWATCH III NOAA/NCEP | 1620 !/ | H. L. Tolman | 1621 !/ | FORTRAN 90 | 1622 !/ | Last update : 11-May-2007 | 1623 !/ +-----------------------------------+ 1624 !/ 1625 !/ 04-Jan-1999 : Distributed FORTRAN 77 version. ( version 1.18 ) 1626 !/ 13-Jan-2000 : Upgrade to FORTRAN 90 ( version 2.00 ) 1627 !/ 28-Dec-2004 : Multiple grid version. ( version 3.06 ) 1628 !/ Taken out of W3WAVE. 1629 !/ 04-May-2005 : Change to MPI_COMM_WAVE. ( version 3.07 ) 1630 !/ 13-Jun-2006 : Splitting STORE in G/SSTORE. ( version 3.09 ) 1631 !/ 11-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 1632 !/ 1633 ! 1. Purpose : 1634 ! 1635 ! Perform initializations for MPI version of model. 1636 ! Data transpose only. 1637 ! 1638 ! 2. Method : 1639 ! 1640 ! Some derived data types are defined. All communiction in 1641 ! W3GATH, W3SCAT and W3WAVE are initialized so that all 1642 ! communication can be performed with single MPI_STARTALL, 1643 ! MPI_TESTALL and MPI_WAITALL calls. 1644 ! 1645 ! 3. Parameters : 1646 ! 1647 ! Parameter list 1648 ! ---------------------------------------------------------------- 1649 ! IMOD Int. I Model number. 1650 ! ---------------------------------------------------------------- 1651 ! 1652 ! 4. Subroutines used : 1653 ! 1654 ! Name Type Module Description 1655 ! ---------------------------------------------------------------- 1656 ! STRACE Subr. W3SERVMD Subroutine tracing. 1657 ! 1658 ! MPI_TYPE_VECTOR, MPI_TYPE_COMMIT 1659 ! Subr. mpif.h MPI derived data type routines. 1660 ! 1661 ! MPI_SEND_INIT, MPI_RECV_INIT 1662 ! Subr. mpif.h MPI persistent communication calls. 1663 ! ---------------------------------------------------------------- 1664 ! 1665 ! 5. Called by : 1666 ! 1667 ! Name Type Module Description 1668 ! ---------------------------------------------------------------- 1669 ! W3INIT Subr. W3INITMD Wave model initialization routine. 1670 ! ---------------------------------------------------------------- 1671 ! Page 32 Source Listing W3MPII 2014-09-16 16:48 w3initmd.f90 1672 ! 6. Error messages : 1673 ! 1674 ! None. 1675 ! 1676 ! 7. Remarks : 1677 ! 1678 ! - Basic MPP set up partially performed in W3INIT. 1679 ! - Each processor has to be able to send out individual error 1680 ! messages in this routine ! 1681 ! - No testing on IMOD, since only called by W3INIT. 1682 ! - In version 3.09 STORE was split into a send and receive 1683 ! buffer, to avoid/reduce possible conflicts btween the FORTRAN 1684 ! and MPI standards when a gather is posted in a given buffer 1685 ! right after a send in completed. 1686 ! 1687 ! 8. Structure : 1688 ! 1689 ! See source code. 1690 ! 1691 ! 9. Switches : 1692 ! 1693 ! !/SHRD Switch for shared / distributed memory architecture. 1694 ! !/DIST Id. 1695 ! !/MPI MPI communication calls. 1696 ! 1697 ! !/S Subroutine tracing, 1698 ! !/T Test output, general. 1699 ! !/MPIT Test output, MPI communications details. 1700 ! 1701 ! 10. Source code : 1702 ! 1703 !/ ------------------------------------------------------------------- / 1704 ! 1705 USE W3GDATMD, ONLY: NSEA 1706 USE W3GDATMD, ONLY: NSPEC 1707 USE W3WDATMD, ONLY: VA 1708 USE W3ADATMD, ONLY: MPI_COMM_WAVE, WW3_FIELD_VEC, & 1709 WW3_SPEC_VEC, IAPPRO, WADATS, & 1710 NRQSG1, IRQSG1, NRQSG2, IRQSG2, & 1711 GSTORE, SSTORE, MPIBUF, BSTAT, & 1712 BISPL, ISPLOC, IBFLOC, NSPLOC 1713 USE W3ODATMD, ONLY: NDST, NAPROC, IAPROC 1714 !/ 1715 IMPLICIT NONE 1716 ! 1717 INCLUDE "mpif.h" 1718 !/ 1719 !/ ------------------------------------------------------------------- / 1720 !/ Parameter list 1721 !/ 2260 INTEGER, INTENT(IN) :: IMOD 2261 !/ 2262 !/ ------------------------------------------------------------------- / 2263 !/ Local parameters 2264 !/ 2265 INTEGER :: NSEALM, NXXXX 2266 INTEGER :: IERR_MPI, ISP, IH, ITARG, & Page 33 Source Listing W3MPII 2014-09-16 16:48 w3initmd.f90 2267 IERR1, IERR2, IP 2268 !/ 2269 !/ ------------------------------------------------------------------- / 2270 !/ 2271 ! 2272 ! 1. Set up derived data types -------------------------------------- / 2273 ! 2274 NSEALM = 1 + (NSEA-1)/NAPROC 2275 NXXXX = NSEALM * NAPROC 2276 ! 2277 CALL MPI_TYPE_VECTOR ( NSEALM, 1, NAPROC, MPI_REAL, & 2278 WW3_FIELD_VEC, IERR_MPI ) 2279 CALL MPI_TYPE_VECTOR ( NSEALM, 1, NSPEC, MPI_REAL, & 2280 WW3_SPEC_VEC, IERR_MPI ) 2281 CALL MPI_TYPE_COMMIT ( WW3_FIELD_VEC, IERR_MPI ) 2282 CALL MPI_TYPE_COMMIT ( WW3_SPEC_VEC, IERR_MPI ) 2283 ! 2284 IF( IAPROC .GT. NAPROC ) THEN 2285 NSPLOC = 0 2286 NRQSG1 = 0 2287 NRQSG2 = 0 2288 RETURN 2289 END IF 2290 ! 2291 ! 2. Set up scatters and gathers for W3WAVE ------------------------- / 2292 ! ( persistent communication calls ) 2293 ! 2294 NSPLOC = 0 2295 DO ISP=1, NSPEC 2296 IF ( IAPPRO(ISP) .EQ. IAPROC ) NSPLOC = NSPLOC + 1 2297 END DO 2298 ! 2299 NRQSG1 = NSPEC - NSPLOC 2300 ALLOCATE ( WADATS(IMOD)%IRQSG1(MAX(1,NRQSG1),2) ) 2301 IRQSG1 => WADATS(IMOD)%IRQSG1 2302 IH = 0 2303 ! 2304 DO ISP=1, NSPEC 2305 IF ( IAPPRO(ISP) .NE. IAPROC ) THEN 2306 ITARG = IAPPRO(ISP) - 1 2307 IH = IH + 1 2308 CALL MPI_SEND_INIT ( VA(ISP,1), 1, WW3_SPEC_VEC, & 2309 ITARG, ISP, MPI_COMM_WAVE, IRQSG1(IH,1), IERR1 ) 2310 CALL MPI_RECV_INIT ( VA(ISP,1), 1, WW3_SPEC_VEC, & 2311 ITARG, ISP, MPI_COMM_WAVE, IRQSG1(IH,2), IERR2 ) 2312 END IF 2313 END DO 2314 ! 2315 ! 3. Set up scatters and gathers for W3SCAT and W3GATH -------------- / 2316 ! Also set up buffering of data. 2317 ! 2318 NRQSG2 = MAX( 1 , NAPROC-1 ) 2319 ALLOCATE ( WADATS(IMOD)%IRQSG2(NRQSG2*NSPLOC,2), & 2320 WADATS(IMOD)%GSTORE(NAPROC*NSEALM,MPIBUF), & 2321 WADATS(IMOD)%SSTORE(NAPROC*NSEALM,MPIBUF) ) 2322 NRQSG2 = NAPROC - 1 2323 ! Page 34 Source Listing W3MPII 2014-09-16 16:48 w3initmd.f90 2324 IRQSG2 => WADATS(IMOD)%IRQSG2 2325 GSTORE => WADATS(IMOD)%GSTORE 2326 SSTORE => WADATS(IMOD)%SSTORE 2327 ! 2328 IH = 0 2329 ISPLOC = 0 2330 IBFLOC = 0 2331 WADATS(IMOD)%GSTORE = 0. 2332 WADATS(IMOD)%SSTORE = 0. 2333 ! 2334 ! 3.a Loop over local spectral components 2335 ! 2336 DO ISP=1, NSPEC 2337 IF ( IAPPRO(ISP) .EQ. IAPROC ) THEN 2338 ! 2339 ISPLOC = ISPLOC + 1 2340 IBFLOC = IBFLOC + 1 2341 IF ( IBFLOC .GT. MPIBUF ) IBFLOC = 1 2342 ! 2343 ! 3.b Loop over non-local processes 2344 ! 2345 DO IP=1, NAPROC 2346 IF ( IP .NE. IAPROC ) THEN 2347 ! 2348 ITARG = IP - 1 2349 IH = IH + 1 2350 ! 2351 CALL MPI_RECV_INIT & 2352 ( WADATS(IMOD)%GSTORE(IP,IBFLOC), 1, & 2353 WW3_FIELD_VEC, ITARG, ISP, MPI_COMM_WAVE, & 2354 IRQSG2(IH,1), IERR2 ) 2355 CALL MPI_SEND_INIT & 2356 ( WADATS(IMOD)%SSTORE(IP,IBFLOC), 1, & 2357 WW3_FIELD_VEC, ITARG, ISP, MPI_COMM_WAVE, & 2358 IRQSG2(IH,2), IERR2 ) 2359 ! 2360 ! ... End of loops 2361 ! 2362 END IF 2363 END DO 2364 ! 2365 END IF 2366 END DO 2367 ! 2368 ! 4. Initialize buffer management ----------------------------------- / 2369 ! 2370 BSTAT = 0 2371 BISPL = 0 2372 ISPLOC = 0 2373 IBFLOC = 0 2374 ! 2375 RETURN 2376 ! 2377 ! Format statements 2378 ! 2379 !/ 2380 !/ End of W3MPII ----------------------------------------------------- / Page 35 Source Listing W3MPII 2014-09-16 16:48 w3initmd.f90 2381 !/ 2382 END SUBROUTINE W3MPII ENTRY POINTS Name w3initmd_mp_w3mpii_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References BISPL Local 1174 I(4) 4 1 1 PTR 1174,1295 BSTAT Local 1173 I(4) 4 1 1 PTR 1173,1294 GSTORE Local 1173 R(4) 4 2 1 PTR 1173,1249 GSTORE Local 1244 R(4) 4 2 1 PTR 1244,1249,1255,1276 IAPPRO Local 1171 I(4) 4 1 1 PTR 1171,1220,1229,1230,1261 IAPROC Local 1175 I(4) 4 scalar PTR 1175,1208,1220,1229,1261,1270 IBFLOC Local 1174 I(4) 4 scalar PTR 1174,1254,1264,1265,1276,1280,1297 IERR1 Local 1191 I(4) 4 scalar 1233 IERR2 Local 1191 I(4) 4 scalar 1235,1278,1282 IERR_MPI Local 1190 I(4) 4 scalar 1202,1204,1205,1206 IH Local 1190 I(4) 4 scalar 1226,1231,1233,1235,1252,1273,1278 ,1282 IMOD Dummy 1078 I(4) 4 scalar ARG,IN 1224,1225,1243,1244,1245,1248,1249 ,1250,1255,1256,1276,1280 IP Local 1191 I(4) 4 scalar 1269,1270,1272,1276,1280 IRQSG1 Local 1172 I(4) 4 2 1 PTR 1172,1225,1233,1235 IRQSG1 Local 1224 I(4) 4 2 1 PTR 1224,1225 IRQSG2 Local 1172 I(4) 4 2 1 PTR 1172,1248,1278,1282 IRQSG2 Local 1243 I(4) 4 2 1 PTR 1243,1248 ISP Local 1190 I(4) 4 scalar 1219,1220,1228,1229,1230,1232,1233 ,1234,1235,1260,1261,1277,1281 ISPLOC Local 1174 I(4) 4 scalar PTR 1174,1253,1263,1296 ITARG Local 1190 I(4) 4 scalar 1230,1233,1235,1272,1277,1281 MAX Func 1224 scalar 1224,1242 MPIBUF Param 1173 I(4) 4 scalar 1173,1244,1245,1265 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 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 Page 36 Source Listing W3MPII 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 1170 I(4) 4 scalar PTR 1170,1233,1235,1277,1281 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 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 Page 37 Source Listing W3MPII 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 38 Source Listing W3MPII 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 39 Source Listing W3MPII 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 1201,1203 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_INIT Subr 1234 1234,1275 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_INIT Subr 1232 1232,1279 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_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 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_COMMIT Subr 1205 1205,1206 MPI_TYPE_DUP_FN Subr 525 scalar MPI_TYPE_NULL_COPY_FN Subr 526 scalar MPI_TYPE_NULL_DELETE_FN Subr 525 scalar MPI_TYPE_VECTOR Subr 1201 1201,1203 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 Page 40 Source Listing W3MPII 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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_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 NAPROC Local 1175 I(4) 4 scalar PTR 1175,1198,1199,1201,1208,1242,1244 ,1245,1246,1269 NDST Local 1175 I(4) 4 scalar PTR 1175 NRQSG1 Local 1172 I(4) 4 scalar PTR 1172,1210,1223,1224 NRQSG2 Local 1172 I(4) 4 scalar PTR 1172,1211,1242,1243,1246 NSEA Local 1167 I(4) 4 scalar PTR 1167,1198 NSEALM Local 1189 I(4) 4 scalar 1198,1199,1201,1203,1244,1245 NSPEC Local 1168 I(4) 4 scalar PTR 1168,1203,1219,1223,1228,1260 NSPLOC Local 1174 I(4) 4 scalar PTR 1174,1209,1218,1220,1223,1243 NXXXX Local 1189 I(4) 4 scalar 1199 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar SSTORE Local 1173 R(4) 4 2 1 PTR 1173,1250 SSTORE Local 1245 R(4) 4 2 1 PTR 1245,1250,1256,1280 VA Local 1169 R(4) 4 2 1 PTR 1169,1232,1234 W3ADATMD Module 1170 1170 W3GDATMD Module 1167 1167,1168 W3MPII Subr 1078 964 W3ODATMD Module 1175 1175 W3WDATMD Module 1169 1169 WADATS Local 1171 RECORD 16448 1 1 ALC,TGT 1171,1224,1225,1243,1244,1245,1248 ,1249,1250,1255,1256,1276,1280 WW3_FIELD_VEC Local 1170 I(4) 4 scalar PTR 1170,1202,1205,1277,1281 WW3_SPEC_VEC Local 1171 I(4) 4 scalar PTR 1171,1204,1206,1232,1234 Page 41 Source Listing W3MPII 2014-09-16 16:48 w3initmd.f90 2383 !/ ------------------------------------------------------------------- / 2384 SUBROUTINE W3MPIO ( IMOD ) 2385 !/ 2386 !/ +-----------------------------------+ 2387 !/ | WAVEWATCH III NOAA/NCEP | 2388 !/ | H. L. Tolman | 2389 !/ | FORTRAN 90 | 2390 !/ | Last update : 25-Dec-2012 | 2391 !/ +-----------------------------------+ 2392 !/ 2393 !/ 17-Mar-1999 : Distributed FORTRAN 77 version. ( version 1.18 ) 2394 !/ 11-Jan-2000 : Upgrade to FORTRAN 90 ( version 2.00 ) 2395 !/ 20-Aug-2003 : Output server options added. ( version 3.04 ) 2396 !/ 28-Dec-2004 : Multiple grid version. ( version 3.06 ) 2397 !/ Taken out of W3WAVE. 2398 !/ 03-Jan-2005 : Add US2x to MPI communication. ( version 3.06 ) 2399 !/ 04-May-2005 : Change to MPI_COMM_WAVE. ( version 3.07 ) 2400 !/ 21-Jul-2005 : Add output fields. ( version 3.07 ) 2401 !/ 04-Jul-2006 : Consolidate stress arrays. ( version 3.09 ) 2402 !/ 02-Aug-2006 : W3MPIP split off. ( version 3.10 ) 2403 !/ 02-Apr-2007 : Add partitioned field data. ( version 3.11 ) 2404 !/ Add user-defined field data. 2405 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 2406 !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) 2407 !/ 25-Dec-2012 : Modify field output MPI for new ( version 4.11 ) 2408 !/ structure and smaller memory footprint. 2409 !/ 02-Jul-2013 : Bug fix MPI_FLOAT -> MPI_REAL. ( version 4.11 ) 2410 !/ 2411 ! 1. Purpose : 2412 ! 2413 ! Prepare MPI persistent communication needed for WAVEWATCH I/O 2414 ! routines. 2415 ! 2416 ! 2. Method : 2417 ! 2418 ! Create handles as needed. 2419 ! 2420 ! 3. Parameters : 2421 ! 2422 ! Parameter list 2423 ! ---------------------------------------------------------------- 2424 ! IMOD Int. I Model number. 2425 ! ---------------------------------------------------------------- 2426 ! 2427 ! 4. Subroutines used : 2428 ! 2429 ! Name Type Module Description 2430 ! ---------------------------------------------------------------- 2431 ! W3XDMA Subr. W3ADATMD Dimension expanded output arrays. 2432 ! W3SETA Subr. " Set pointers for output arrays 2433 ! STRACE Subr. W3SERVMD Subroutine tracing. 2434 ! 2435 ! MPI_SEND_INIT, MPI_RECV_INIT 2436 ! Subr. mpif.h MPI persistent communication calls. 2437 ! ---------------------------------------------------------------- 2438 ! 2439 ! 5. Called by : Page 42 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 2440 ! 2441 ! Name Type Module Description 2442 ! ---------------------------------------------------------------- 2443 ! W3INIT Subr. W3INITMD Wave model initialization routine. 2444 ! ---------------------------------------------------------------- 2445 ! 2446 ! 6. Error messages : 2447 ! 2448 ! 7. Remarks : 2449 ! 2450 ! - The communication as set up in W3MPII uses tags with number 2451 ! ranging from 1 through NSPEC. New and unique tags for IO 2452 ! related communication are assigned here dynamically. 2453 ! - No testing on IMOD, since only called by W3INIT. 2454 ! 2455 ! 8. Structure : 2456 ! 2457 ! See source code. 2458 ! 2459 ! 9. Switches : 2460 ! 2461 ! !/MPI MPI communication calls. 2462 ! 2463 ! !/S Enable subroutine tracing. 2464 ! !/MPIT Enable test output. 2465 ! 2466 ! 10. Source code : 2467 ! 2468 !/ ------------------------------------------------------------------- / 2469 ! 2470 USE W3ADATMD, ONLY: W3XDMA, W3SETA, W3XETA 2471 USE W3SERVMD, ONLY: EXTCDE 2472 !/ 2473 USE W3GDATMD, ONLY: NSEA 2474 USE W3GDATMD, ONLY: NX, NSPEC, MAPFS, E3DF, P2MSF, US3DF 2475 USE W3WDATMD, ONLY: VA, UST, USTDIR, ASF, FPIS 2476 USE W3ADATMD, ONLY: MPI_COMM_WAVE, WW3_FIELD_VEC 2477 USE W3ADATMD, ONLY: HS, WLM, T02 2478 2479 2480 USE W3ADATMD, ONLY: T0M1, THM, THS, FP0, THP0, FP1, THP1, & 2481 DTDYN, FCUT, SPPNT, ABA, ABD, UBA, UBD,& 2482 SXX, SYY, SXY, USERO, PHS, PTP, PLP, & 2483 PTH, PSI, PWS, PWST, PNR, PHIAW, PHIOC,& 2484 TUSX, TUSY, TAUWIX, TAUWIY, TAUOX, & 2485 TAUOY, USSX, USSY, MSSX, MSSY, & 2486 MSCX, MSCY, PRMS, TPMS, CHARN, & 2487 TAUWNX, TAUWNY, BHD, CGE, & 2488 CFLXYMAX, CFLTHMAX, CFLKMAX, WHITECAP, & 2489 BEDFORMS, PHIBBL, TAUBBL, T01, & 2490 P2SMS, US3D, EF, TH1M, STH1M, TH2M, STH2M 2491 USE W3GDATMD, ONLY: NK 2492 USE W3ODATMD, ONLY: NDST, IAPROC, NAPROC, NTPROC, FLOUT, & 2493 NAPFLD, NAPPNT, NAPRST, NAPBPT, NAPTRK,& 2494 NOGRP, NGRPP 2495 USE W3ODATMD, ONLY: OUTPTS, NRQGO, NRQGO2, IRQGO, IRQGO2, & 2496 FLOGRD, NRQPO, NRQPO2, IRQPO1, IRQPO2, & Page 43 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 2497 NOPTS, IPTINT, NRQRS, IRQRS, NBLKRS, & 2498 RSBLKS, IRQRSS, VAAUX, NRQBP, NRQBP2, & 2499 IRQBP1, IRQBP2, NFBPO, NBO2, ISBPO, & 2500 ABPOS, NRQTR, IRQTR, IT0PNT, IT0TRK, & 2501 IT0PRT, NOSWLL, NOEXTR, NDSE, IOSTYP, & 2502 FLOGR2 2503 !/ 2504 IMPLICIT NONE 2505 ! 2506 INCLUDE "mpif.h" 2507 !/ 2508 !/ ------------------------------------------------------------------- / 2509 !/ Parameter list 2510 !/ 3049 INTEGER, INTENT(IN) :: IMOD 3050 !/ 3051 !/ ------------------------------------------------------------------- / 3052 !/ Local parameters 3053 !/ 3054 INTEGER :: NSEALM 3055 INTEGER :: IK, IFJ 3056 INTEGER :: IH, IT0, IROOT, IT, IERR, I0, & 3057 IFROM, IX(4), IY(4), IS(4), & 3058 IP(4), I, J, JSEA, ITARG, IB, & 3059 JSEA0, JSEAN, NSEAB, IBOFF, & 3060 ISEA, ISPROC, K, NRQMAX 3061 LOGICAL :: FLGRDALL(NOGRP,NGRPP) 3062 !/ 3063 !/ ------------------------------------------------------------------- / 3064 !/ 3065 ! 3066 ! 1. Set-up for W3IOGO ---------------------------------------------- / 3067 ! 3068 DO J=1, NOGRP 3069 DO K=1, NGRPP 3070 FLGRDALL (J,K) = (FLOGRD(J,K) .OR. FLOGR2(J,K)) 3071 END DO 3072 END DO 3073 3074 NRQGO = 0 3075 NRQGO2 = 0 3076 IT0 = NSPEC 3077 IROOT = NAPFLD - 1 3078 ! 3079 NSEALM = 1 + (NSEA-1)/NAPROC 3080 ! 3081 IF ( FLOUT(1) .OR. FLOUT(7) ) THEN 3082 ! 3083 ! NRQMAX is the maximum number of fields, it is the sum of the 3084 ! sizes of scalar fields (Hs) + 2-component vectors (CUR) + 3-comp ... 3085 ! 3086 NRQMAX = 0 + 9 + 0 + 2+6*(NOSWLL+1) + 10+4 + 7+6 + & 3087 5+5 + 2+2 + 5+0 + NOEXTR 3088 DO IFJ=1,5 3089 IF ( FLGRDALL( 3,J)) NRQMAX = NRQMAX + & 3090 E3DF(3,J) - E3DF(2,J) + 1 3091 END DO Page 44 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3092 IF ( FLGRDALL( 6,9)) NRQMAX = NRQMAX + & 3093 P2MSF(3) - P2MSF(2) + 1 3094 IF ( FLGRDALL( 6, 8) ) NRQMAX = NRQMAX + 2*NK 3095 ! 3096 IF ( NRQMAX .GT. 0 ) THEN 3097 ALLOCATE ( OUTPTS(IMOD)%OUT1%IRQGO(NRQMAX) ) 3098 ALLOCATE ( OUTPTS(IMOD)%OUT1%IRQGO2(NRQMAX*NAPROC) ) 3099 END IF 3100 IRQGO => OUTPTS(IMOD)%OUT1%IRQGO 3101 IRQGO2 => OUTPTS(IMOD)%OUT1%IRQGO2 3102 ! 3103 ! 1.a Sends of fields 3104 ! 3105 IH = 0 3106 ! 3107 IF ( IAPROC .LE. NAPROC ) THEN 3108 IT = IT0 3109 ! 3110 IF ( FLGRDALL( 2, 1) ) THEN 3111 IH = IH + 1 3112 IT = IT + 1 3113 CALL MPI_SEND_INIT (HS (1),NSEALM , MPI_REAL, IROOT, & 3114 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3115 END IF 3116 ! 3117 IF ( FLGRDALL( 2, 2) ) THEN 3118 IH = IH + 1 3119 IT = IT + 1 3120 CALL MPI_SEND_INIT (WLM (1),NSEALM , MPI_REAL, IROOT, & 3121 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3122 END IF 3123 ! 3124 IF ( FLGRDALL( 2, 3) ) THEN 3125 IH = IH + 1 3126 IT = IT + 1 3127 CALL MPI_SEND_INIT (T02 (1),NSEALM , MPI_REAL, IROOT, & 3128 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3129 END IF 3130 ! 3131 IF ( FLGRDALL( 2, 4) ) THEN 3132 IH = IH + 1 3133 IT = IT + 1 3134 CALL MPI_SEND_INIT (T0M1 (1),NSEALM , MPI_REAL, IROOT, & 3135 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3136 END IF 3137 ! 3138 IF ( FLGRDALL( 2, 5) ) THEN 3139 IH = IH + 1 3140 IT = IT + 1 3141 CALL MPI_SEND_INIT (T01 (1),NSEALM , MPI_REAL, IROOT, & 3142 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3143 END IF 3144 ! 3145 IF ( FLGRDALL( 2, 6) ) THEN 3146 IH = IH + 1 3147 IT = IT + 1 3148 CALL MPI_SEND_INIT (FP0 (1),NSEALM , MPI_REAL, IROOT, & Page 45 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3149 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3150 END IF 3151 ! 3152 IF ( FLGRDALL( 2, 7) ) THEN 3153 IH = IH + 1 3154 IT = IT + 1 3155 CALL MPI_SEND_INIT (THM (1),NSEALM , MPI_REAL, IROOT, & 3156 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3157 END IF 3158 ! 3159 IF ( FLGRDALL( 2, 8) ) THEN 3160 IH = IH + 1 3161 IT = IT + 1 3162 CALL MPI_SEND_INIT (THS (1),NSEALM , MPI_REAL, IROOT, & 3163 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3164 END IF 3165 ! 3166 IF ( FLGRDALL( 2, 9) ) THEN 3167 IH = IH + 1 3168 IT = IT + 1 3169 CALL MPI_SEND_INIT (THP0 (1),NSEALM , MPI_REAL, IROOT, & 3170 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3171 END IF 3172 ! 3173 IF ( FLGRDALL( 3, 1) ) THEN 3174 DO IK=E3DF(2,1),E3DF(3,1) 3175 IH = IH + 1 3176 IT = IT + 1 3177 CALL MPI_SEND_INIT (EF(1,IK),NSEALM , MPI_REAL, IROOT, & 3178 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3179 END DO 3180 END IF 3181 ! 3182 IF ( FLGRDALL( 3, 2) ) THEN 3183 DO IK=E3DF(2,2),E3DF(3,2) 3184 IH = IH + 1 3185 IT = IT + 1 3186 CALL MPI_SEND_INIT (TH1M(1,IK),NSEALM , MPI_REAL, IROOT, & 3187 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3188 END DO 3189 END IF 3190 ! 3191 IF ( FLGRDALL( 3, 3) ) THEN 3192 DO IK=E3DF(2,3),E3DF(3,3) 3193 IH = IH + 1 3194 IT = IT + 1 3195 CALL MPI_SEND_INIT (STH1M(1,IK),NSEALM , MPI_REAL, IROOT, & 3196 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3197 END DO 3198 END IF 3199 ! 3200 IF ( FLGRDALL( 3, 4) ) THEN 3201 DO IK=E3DF(2,4),E3DF(3,4) 3202 IH = IH + 1 3203 IT = IT + 1 3204 CALL MPI_SEND_INIT (TH2M(1,IK),NSEALM , MPI_REAL, IROOT, & 3205 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) Page 46 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3206 END DO 3207 END IF 3208 ! 3209 IF ( FLGRDALL( 3, 5) ) THEN 3210 DO IK=E3DF(2,5),E3DF(3,5) 3211 IH = IH + 1 3212 IT = IT + 1 3213 CALL MPI_SEND_INIT (STH2M(1,IK),NSEALM , MPI_REAL, IROOT, & 3214 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3215 END DO 3216 END IF 3217 ! 3218 IF ( FLGRDALL( 4, 1) ) THEN 3219 DO K=0, NOSWLL 3220 IH = IH + 1 3221 IT = IT + 1 3222 CALL MPI_SEND_INIT (PHS(1,K),NSEALM , MPI_REAL, IROOT, & 3223 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3224 END DO 3225 END IF 3226 ! 3227 IF ( FLGRDALL( 4, 2) ) THEN 3228 DO K=0, NOSWLL 3229 IH = IH + 1 3230 IT = IT + 1 3231 CALL MPI_SEND_INIT (PTP(1,K),NSEALM , MPI_REAL, IROOT, & 3232 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3233 END DO 3234 END IF 3235 ! 3236 IF ( FLGRDALL( 4, 3) ) THEN 3237 DO K=0, NOSWLL 3238 IH = IH + 1 3239 IT = IT + 1 3240 CALL MPI_SEND_INIT (PLP(1,K),NSEALM , MPI_REAL, IROOT, & 3241 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3242 END DO 3243 END IF 3244 ! 3245 IF ( FLGRDALL( 4, 4) ) THEN 3246 DO K=0, NOSWLL 3247 IH = IH + 1 3248 IT = IT + 1 3249 CALL MPI_SEND_INIT (PTH(1,K),NSEALM , MPI_REAL, IROOT, & 3250 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3251 END DO 3252 END IF 3253 ! 3254 IF ( FLGRDALL( 4, 5) ) THEN 3255 DO K=0, NOSWLL 3256 IH = IH + 1 3257 IT = IT + 1 3258 CALL MPI_SEND_INIT (PSI(1,K),NSEALM , MPI_REAL, IROOT, & 3259 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3260 END DO 3261 END IF 3262 ! Page 47 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3263 IF ( FLGRDALL( 4, 6) ) THEN 3264 DO K=0, NOSWLL 3265 IH = IH + 1 3266 IT = IT + 1 3267 CALL MPI_SEND_INIT (PWS(1,K),NSEALM , MPI_REAL, IROOT, & 3268 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3269 END DO 3270 END IF 3271 ! 3272 IF ( FLGRDALL( 4, 7) ) THEN 3273 IH = IH + 1 3274 IT = IT + 1 3275 CALL MPI_SEND_INIT (PWST (1),NSEALM , MPI_REAL, IROOT, & 3276 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3277 END IF 3278 ! 3279 IF ( FLGRDALL( 4, 8) ) THEN 3280 IH = IH + 1 3281 IT = IT + 1 3282 CALL MPI_SEND_INIT (PNR (1),NSEALM , MPI_REAL, IROOT, & 3283 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3284 END IF 3285 ! 3286 IF ( FLGRDALL( 5, 1) ) THEN 3287 IH = IH + 1 3288 IT = IT + 1 3289 CALL MPI_SEND_INIT (UST (IAPROC), 1, WW3_FIELD_VEC, & 3290 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR ) 3291 IH = IH + 1 3292 IT = IT + 1 3293 CALL MPI_SEND_INIT (USTDIR(IAPROC), 1, WW3_FIELD_VEC, & 3294 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR ) 3295 IH = IH + 1 3296 IT = IT + 1 3297 CALL MPI_SEND_INIT (ASF (IAPROC), 1, WW3_FIELD_VEC, & 3298 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR ) 3299 END IF 3300 ! 3301 IF ( FLGRDALL( 5, 2) ) THEN 3302 IH = IH + 1 3303 IT = IT + 1 3304 CALL MPI_SEND_INIT (CHARN(1),NSEALM , MPI_REAL, IROOT, & 3305 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3306 END IF 3307 ! 3308 IF ( FLGRDALL( 5, 3) ) THEN 3309 IH = IH + 1 3310 IT = IT + 1 3311 CALL MPI_SEND_INIT (CGE (1),NSEALM , MPI_REAL, IROOT, & 3312 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3313 END IF 3314 ! 3315 IF ( FLGRDALL( 5, 4) ) THEN 3316 IH = IH + 1 3317 IT = IT + 1 3318 CALL MPI_SEND_INIT (PHIAW(1),NSEALM , MPI_REAL, IROOT, & 3319 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) Page 48 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3320 END IF 3321 ! 3322 IF ( FLGRDALL( 5, 5) ) THEN 3323 IH = IH + 1 3324 IT = IT + 1 3325 CALL MPI_SEND_INIT (TAUWIX(1),NSEALM , MPI_REAL, IROOT, & 3326 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3327 IH = IH + 1 3328 IT = IT + 1 3329 CALL MPI_SEND_INIT (TAUWIY(1),NSEALM , MPI_REAL, IROOT, & 3330 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3331 END IF 3332 ! 3333 IF ( FLGRDALL( 5, 6) ) THEN 3334 IH = IH + 1 3335 IT = IT + 1 3336 CALL MPI_SEND_INIT (TAUWIX(1),NSEALM , MPI_REAL, IROOT, & 3337 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3338 IH = IH + 1 3339 IT = IT + 1 3340 CALL MPI_SEND_INIT (TAUWIY(1),NSEALM , MPI_REAL, IROOT, & 3341 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3342 END IF 3343 ! 3344 IF ( FLGRDALL( 5, 7) ) THEN 3345 IH = IH + 1 3346 IT = IT + 1 3347 CALL MPI_SEND_INIT (WHITECAP(1,1),NSEALM , MPI_REAL, IROOT,& 3348 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3349 END IF 3350 ! 3351 IF ( FLGRDALL( 5, 8) ) THEN 3352 IH = IH + 1 3353 IT = IT + 1 3354 CALL MPI_SEND_INIT (WHITECAP(1,2),NSEALM , MPI_REAL, IROOT,& 3355 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3356 END IF 3357 ! 3358 IF ( FLGRDALL( 5, 9) ) THEN 3359 IH = IH + 1 3360 IT = IT + 1 3361 CALL MPI_SEND_INIT (WHITECAP(1,3),NSEALM , MPI_REAL, IROOT,& 3362 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3363 END IF 3364 ! 3365 IF ( FLGRDALL( 5,10) ) THEN 3366 IH = IH + 1 3367 IT = IT + 1 3368 CALL MPI_SEND_INIT (WHITECAP(1,4),NSEALM , MPI_REAL, IROOT,& 3369 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3370 END IF 3371 ! 3372 IF ( FLGRDALL( 6, 1) ) THEN 3373 IH = IH + 1 3374 IT = IT + 1 3375 CALL MPI_SEND_INIT (SXX (1),NSEALM , MPI_REAL, IROOT, & 3376 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) Page 49 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3377 IH = IH + 1 3378 IT = IT + 1 3379 CALL MPI_SEND_INIT (SYY (1),NSEALM , MPI_REAL, IROOT, & 3380 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3381 IH = IH + 1 3382 IT = IT + 1 3383 CALL MPI_SEND_INIT (SXY (1),NSEALM , MPI_REAL, IROOT, & 3384 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3385 END IF 3386 ! 3387 IF ( FLGRDALL( 6, 2) ) THEN 3388 IH = IH + 1 3389 IT = IT + 1 3390 CALL MPI_SEND_INIT (TAUOX (1),NSEALM , MPI_REAL, IROOT, & 3391 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3392 IH = IH + 1 3393 IT = IT + 1 3394 CALL MPI_SEND_INIT (TAUOY (1),NSEALM , MPI_REAL, IROOT, & 3395 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3396 END IF 3397 ! 3398 IF ( FLGRDALL( 6, 3) ) THEN 3399 IH = IH + 1 3400 IT = IT + 1 3401 CALL MPI_SEND_INIT (BHD(1),NSEALM , MPI_REAL, IROOT, & 3402 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3403 END IF 3404 ! 3405 IF ( FLGRDALL( 6, 4) ) THEN 3406 IH = IH + 1 3407 IT = IT + 1 3408 CALL MPI_SEND_INIT (PHIOC (1),NSEALM , MPI_REAL, IROOT, & 3409 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3410 END IF 3411 ! 3412 IF ( FLGRDALL( 6, 5) ) THEN 3413 IH = IH + 1 3414 IT = IT + 1 3415 CALL MPI_SEND_INIT (TUSX (1),NSEALM , MPI_REAL, IROOT, & 3416 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3417 IH = IH + 1 3418 IT = IT + 1 3419 CALL MPI_SEND_INIT (TUSY (1),NSEALM , MPI_REAL, IROOT, & 3420 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3421 END IF 3422 ! 3423 IF ( FLGRDALL( 6, 6) ) THEN 3424 IH = IH + 1 3425 IT = IT + 1 3426 CALL MPI_SEND_INIT (USSX (1),NSEALM , MPI_REAL, IROOT, & 3427 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3428 IH = IH + 1 3429 IT = IT + 1 3430 CALL MPI_SEND_INIT (USSY (1),NSEALM , MPI_REAL, IROOT, & 3431 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3432 END IF 3433 ! Page 50 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3434 IF ( FLGRDALL( 6, 7) ) THEN 3435 IH = IH + 1 3436 IT = IT + 1 3437 CALL MPI_SEND_INIT (PRMS (1),NSEALM , MPI_REAL, IROOT, & 3438 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3439 IH = IH + 1 3440 IT = IT + 1 3441 CALL MPI_SEND_INIT (TPMS (1),NSEALM , MPI_REAL, IROOT, & 3442 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3443 END IF 3444 ! 3445 IF ( FLGRDALL( 6, 8) ) THEN 3446 DO IK=1,2*NK 3447 IH = IH + 1 3448 IT = IT + 1 3449 CALL MPI_SEND_INIT (US3D(1,IK),NSEALM , MPI_REAL, IROOT, & 3450 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3451 END DO 3452 END IF 3453 ! 3454 IF ( FLGRDALL( 6, 9) ) THEN 3455 DO K=P2MSF(2),P2MSF(3) 3456 IH = IH + 1 3457 IT = IT + 1 3458 CALL MPI_SEND_INIT (P2SMS(1,K),NSEALM , MPI_REAL, IROOT, & 3459 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3460 END DO 3461 END IF 3462 ! 3463 IF ( FLGRDALL( 7, 1) ) THEN 3464 IH = IH + 1 3465 IT = IT + 1 3466 CALL MPI_SEND_INIT (ABA (1),NSEALM , MPI_REAL, IROOT, & 3467 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3468 IH = IH + 1 3469 IT = IT + 1 3470 CALL MPI_SEND_INIT (ABD (1),NSEALM , MPI_REAL, IROOT, & 3471 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3472 END IF 3473 ! 3474 IF ( FLGRDALL( 7, 2) ) THEN 3475 IH = IH + 1 3476 IT = IT + 1 3477 CALL MPI_SEND_INIT (UBA (1),NSEALM , MPI_REAL, IROOT, & 3478 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3479 IH = IH + 1 3480 IT = IT + 1 3481 CALL MPI_SEND_INIT (UBD (1),NSEALM , MPI_REAL, IROOT, & 3482 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3483 END IF 3484 ! 3485 IF ( FLGRDALL( 7, 3) ) THEN 3486 IH = IH + 1 3487 IT = IT + 1 3488 CALL MPI_SEND_INIT (BEDFORMS(1,1),NSEALM , MPI_REAL, & 3489 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3490 IH = IH + 1 Page 51 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3491 IT = IT + 1 3492 CALL MPI_SEND_INIT (BEDFORMS(1,2),NSEALM , MPI_REAL, & 3493 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3494 IH = IH + 1 3495 IT = IT + 1 3496 CALL MPI_SEND_INIT (BEDFORMS(1,3),NSEALM , MPI_REAL, & 3497 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3498 END IF 3499 ! 3500 IF ( FLGRDALL( 7, 4) ) THEN 3501 IH = IH + 1 3502 IT = IT + 1 3503 CALL MPI_SEND_INIT (PHIBBL(1),NSEALM , MPI_REAL, IROOT, & 3504 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3505 END IF 3506 ! 3507 IF ( FLGRDALL( 7, 5) ) THEN 3508 IH = IH + 1 3509 IT = IT + 1 3510 CALL MPI_SEND_INIT (TAUBBL(1,1),NSEALM , MPI_REAL, & 3511 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3512 IH = IH + 1 3513 IT = IT + 1 3514 CALL MPI_SEND_INIT (TAUBBL(1,2),NSEALM , MPI_REAL, & 3515 IROOT, IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3516 END IF 3517 ! 3518 IF ( FLGRDALL( 8, 1) ) THEN 3519 IH = IH + 1 3520 IT = IT + 1 3521 CALL MPI_SEND_INIT (MSSX (1),NSEALM , MPI_REAL, IROOT, & 3522 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3523 IH = IH + 1 3524 IT = IT + 1 3525 CALL MPI_SEND_INIT (MSSY (1),NSEALM , MPI_REAL, IROOT, & 3526 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3527 END IF 3528 ! 3529 IF ( FLGRDALL( 8, 2) ) THEN 3530 IH = IH + 1 3531 IT = IT + 1 3532 CALL MPI_SEND_INIT (MSCX (1),NSEALM , MPI_REAL, IROOT, & 3533 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3534 IH = IH + 1 3535 IT = IT + 1 3536 CALL MPI_SEND_INIT (MSCY (1),NSEALM , MPI_REAL, IROOT, & 3537 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3538 END IF 3539 ! 3540 IF ( FLGRDALL( 9, 1) ) THEN 3541 IH = IH + 1 3542 IT = IT + 1 3543 CALL MPI_SEND_INIT (DTDYN(1),NSEALM , MPI_REAL, IROOT, & 3544 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3545 END IF 3546 ! 3547 IF ( FLGRDALL( 9, 2) ) THEN Page 52 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3548 IH = IH + 1 3549 IT = IT + 1 3550 CALL MPI_SEND_INIT (FCUT (1),NSEALM , MPI_REAL, IROOT, & 3551 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3552 END IF 3553 ! 3554 IF ( FLGRDALL( 9, 3) ) THEN 3555 IH = IH + 1 3556 IT = IT + 1 3557 CALL MPI_SEND_INIT (CFLXYMAX(1),NSEALM , MPI_REAL, IROOT, & 3558 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3559 END IF 3560 ! 3561 IF ( FLGRDALL( 9, 4) ) THEN 3562 IH = IH + 1 3563 IT = IT + 1 3564 CALL MPI_SEND_INIT (CFLTHMAX(1),NSEALM , MPI_REAL, IROOT, & 3565 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3566 END IF 3567 ! 3568 IF ( FLGRDALL( 9, 5) ) THEN 3569 IH = IH + 1 3570 IT = IT + 1 3571 CALL MPI_SEND_INIT (CFLKMAX(1),NSEALM , MPI_REAL, IROOT, & 3572 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3573 END IF 3574 ! 3575 DO I=1, NOEXTR 3576 IF ( FLGRDALL(10, I) ) THEN 3577 IH = IH + 1 3578 IT = IT + 1 3579 CALL MPI_SEND_INIT (USERO(1,I),NSEALM , MPI_REAL, IROOT, & 3580 IT, MPI_COMM_WAVE, IRQGO(IH), IERR) 3581 END IF 3582 END DO 3583 ! 3584 NRQGO = IH 3585 ! 3586 END IF 3587 ! 3588 IF ( NRQGO .GT. NRQMAX ) THEN 3589 WRITE (NDSE,1010) NRQGO, NRQMAX 3590 CALL EXTCDE (10) 3591 END IF 3592 ! 3593 IF ( IAPROC .EQ. NAPFLD ) THEN 3594 ! 3595 ! 1.b Setting up expanded arrays 3596 ! 3597 CALL W3XDMA ( IMOD, NDSE, NDST, FLGRDALL ) 3598 ! 3599 ! 1.c Receives of fields 3600 ! 3601 CALL W3XETA ( IMOD, NDSE, NDST ) 3602 ! 3603 IH = 0 3604 ! Page 53 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3605 DO I0=1, NAPROC 3606 IT = IT0 3607 IFROM = I0 - 1 3608 ! 3609 IF ( FLGRDALL( 2, 1) ) THEN 3610 IH = IH + 1 3611 IT = IT + 1 3612 CALL MPI_RECV_INIT (HS (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3613 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3614 END IF 3615 ! 3616 IF ( FLGRDALL( 2, 2) ) THEN 3617 IH = IH + 1 3618 IT = IT + 1 3619 CALL MPI_RECV_INIT (WLM (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3620 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3621 END IF 3622 ! 3623 IF ( FLGRDALL( 2, 3) ) THEN 3624 IH = IH + 1 3625 IT = IT + 1 3626 CALL MPI_RECV_INIT (T02 (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3627 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3628 END IF 3629 ! 3630 IF ( FLGRDALL( 2, 4) ) THEN 3631 IH = IH + 1 3632 IT = IT + 1 3633 CALL MPI_RECV_INIT (T0M1 (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3634 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3635 END IF 3636 ! 3637 IF ( FLGRDALL( 2, 5) ) THEN 3638 IH = IH + 1 3639 IT = IT + 1 3640 CALL MPI_RECV_INIT (T01(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3641 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3642 END IF 3643 ! 3644 IF ( FLGRDALL( 2, 6) ) THEN 3645 IH = IH + 1 3646 IT = IT + 1 3647 CALL MPI_RECV_INIT (FP0 (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3648 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3649 END IF 3650 ! 3651 IF ( FLGRDALL( 2, 7) ) THEN 3652 IH = IH + 1 3653 IT = IT + 1 3654 CALL MPI_RECV_INIT (THM (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3655 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3656 END IF 3657 ! 3658 IF ( FLGRDALL( 2, 8) ) THEN 3659 IH = IH + 1 3660 IT = IT + 1 3661 CALL MPI_RECV_INIT (THS (I0),1,WW3_FIELD_VEC, IFROM, IT, & Page 54 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3662 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3663 END IF 3664 ! 3665 IF ( FLGRDALL( 2, 9) ) THEN 3666 IH = IH + 1 3667 IT = IT + 1 3668 CALL MPI_RECV_INIT (THP0 (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3669 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3670 END IF 3671 ! 3672 IF ( FLGRDALL( 3, 1) ) THEN 3673 DO IK=E3DF(2,1),E3DF(3,1) 3674 IH = IH + 1 3675 IT = IT + 1 3676 CALL MPI_RECV_INIT (EF(I0,IK),1,WW3_FIELD_VEC, IFROM, IT,& 3677 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3678 END DO 3679 END IF 3680 ! 3681 IF ( FLGRDALL( 3, 2) ) THEN 3682 DO IK=E3DF(2,2),E3DF(3,2) 3683 IH = IH + 1 3684 IT = IT + 1 3685 CALL MPI_RECV_INIT (TH1M(I0,IK),1,WW3_FIELD_VEC, IFROM, IT,& 3686 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3687 END DO 3688 END IF 3689 ! 3690 IF ( FLGRDALL( 3, 3) ) THEN 3691 DO IK=E3DF(2,3),E3DF(3,3) 3692 IH = IH + 1 3693 IT = IT + 1 3694 CALL MPI_RECV_INIT (STH1M(I0,IK),1,WW3_FIELD_VEC, IFROM, IT,& 3695 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3696 END DO 3697 END IF 3698 ! 3699 IF ( FLGRDALL( 3, 4) ) THEN 3700 DO IK=E3DF(2,4),E3DF(3,4) 3701 IH = IH + 1 3702 IT = IT + 1 3703 CALL MPI_RECV_INIT (TH2M(I0,IK),1,WW3_FIELD_VEC, IFROM, IT,& 3704 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3705 END DO 3706 END IF 3707 ! 3708 IF ( FLGRDALL( 3, 5) ) THEN 3709 DO IK=E3DF(2,5),E3DF(3,5) 3710 IH = IH + 1 3711 IT = IT + 1 3712 CALL MPI_RECV_INIT (STH2M(I0,IK),1,WW3_FIELD_VEC, IFROM, IT,& 3713 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3714 END DO 3715 END IF 3716 ! 3717 IF ( FLGRDALL( 4, 1) ) THEN 3718 DO K=0, NOSWLL Page 55 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3719 IH = IH + 1 3720 IT = IT + 1 3721 CALL MPI_RECV_INIT (PHS(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3722 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3723 END DO 3724 END IF 3725 ! 3726 IF ( FLGRDALL( 4, 2) ) THEN 3727 DO K=0, NOSWLL 3728 IH = IH + 1 3729 IT = IT + 1 3730 CALL MPI_RECV_INIT (PTP(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3731 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3732 END DO 3733 END IF 3734 ! 3735 IF ( FLGRDALL( 4, 3) ) THEN 3736 DO K=0, NOSWLL 3737 IH = IH + 1 3738 IT = IT + 1 3739 CALL MPI_RECV_INIT (PLP(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3740 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3741 END DO 3742 END IF 3743 ! 3744 IF ( FLGRDALL( 4, 4) ) THEN 3745 DO K=0, NOSWLL 3746 IH = IH + 1 3747 IT = IT + 1 3748 CALL MPI_RECV_INIT (PTH(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3749 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3750 END DO 3751 END IF 3752 ! 3753 IF ( FLGRDALL( 4, 5) ) THEN 3754 DO K=0, NOSWLL 3755 IH = IH + 1 3756 IT = IT + 1 3757 CALL MPI_RECV_INIT (PSI(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3758 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3759 END DO 3760 END IF 3761 ! 3762 IF ( FLGRDALL( 4, 6) ) THEN 3763 DO K=0, NOSWLL 3764 IH = IH + 1 3765 IT = IT + 1 3766 CALL MPI_RECV_INIT (PWS(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3767 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3768 END DO 3769 END IF 3770 ! 3771 IF ( FLGRDALL( 4, 7) ) THEN 3772 IH = IH + 1 3773 IT = IT + 1 3774 CALL MPI_RECV_INIT (PWST (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3775 MPI_COMM_WAVE, IRQGO2(IH), IERR ) Page 56 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3776 END IF 3777 ! 3778 IF ( FLGRDALL( 4, 8) ) THEN 3779 IH = IH + 1 3780 IT = IT + 1 3781 CALL MPI_RECV_INIT (PNR (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3782 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3783 END IF 3784 ! 3785 IF ( FLGRDALL( 5, 1) ) THEN 3786 IH = IH + 1 3787 IT = IT + 1 3788 CALL MPI_RECV_INIT (UST (I0), 1, WW3_FIELD_VEC, IFROM, & 3789 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3790 IH = IH + 1 3791 IT = IT + 1 3792 CALL MPI_RECV_INIT (USTDIR(I0), 1, WW3_FIELD_VEC, IFROM, & 3793 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3794 IH = IH + 1 3795 IT = IT + 1 3796 CALL MPI_RECV_INIT (ASF (I0), 1, WW3_FIELD_VEC, IFROM, & 3797 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3798 END IF 3799 ! 3800 IF ( FLGRDALL( 5, 2) ) THEN 3801 IH = IH + 1 3802 IT = IT + 1 3803 CALL MPI_RECV_INIT (CHARN(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3804 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3805 END IF 3806 ! 3807 IF ( FLGRDALL( 5, 3) ) THEN 3808 IH = IH + 1 3809 IT = IT + 1 3810 CALL MPI_RECV_INIT (CGE (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3811 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3812 END IF 3813 ! 3814 IF ( FLGRDALL( 5, 4) ) THEN 3815 IH = IH + 1 3816 IT = IT + 1 3817 CALL MPI_RECV_INIT (PHIAW(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3818 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3819 END IF 3820 ! 3821 IF ( FLGRDALL( 5, 5) ) THEN 3822 IH = IH + 1 3823 IT = IT + 1 3824 CALL MPI_RECV_INIT (TAUWIX(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3825 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3826 IH = IH + 1 3827 IT = IT + 1 3828 CALL MPI_RECV_INIT (TAUWIY(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3829 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3830 END IF 3831 ! 3832 IF ( FLGRDALL( 5, 6) ) THEN Page 57 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3833 IH = IH + 1 3834 IT = IT + 1 3835 CALL MPI_RECV_INIT (TAUWNX(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3836 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3837 IH = IH + 1 3838 IT = IT + 1 3839 CALL MPI_RECV_INIT (TAUWNY(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3840 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3841 END IF 3842 ! 3843 IF ( FLGRDALL( 5, 7) ) THEN 3844 IH = IH + 1 3845 IT = IT + 1 3846 CALL MPI_RECV_INIT (WHITECAP(I0,1),1,WW3_FIELD_VEC, IFROM, & 3847 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3848 END IF 3849 ! 3850 IF ( FLGRDALL( 5, 8) ) THEN 3851 IH = IH + 1 3852 IT = IT + 1 3853 CALL MPI_RECV_INIT (WHITECAP(I0,2),1,WW3_FIELD_VEC, IFROM, & 3854 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3855 END IF 3856 ! 3857 IF ( FLGRDALL( 5, 9) ) THEN 3858 IH = IH + 1 3859 IT = IT + 1 3860 CALL MPI_RECV_INIT (WHITECAP(I0,3),1,WW3_FIELD_VEC, IFROM, & 3861 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3862 END IF 3863 ! 3864 IF ( FLGRDALL( 5,10) ) THEN 3865 IH = IH + 1 3866 IT = IT + 1 3867 CALL MPI_RECV_INIT (WHITECAP(I0,4),1,WW3_FIELD_VEC, IFROM, & 3868 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3869 END IF 3870 ! 3871 IF ( FLGRDALL( 6, 1) ) THEN 3872 IH = IH + 1 3873 IT = IT + 1 3874 CALL MPI_RECV_INIT (SXX (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3875 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3876 IH = IH + 1 3877 IT = IT + 1 3878 CALL MPI_RECV_INIT (SYY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3879 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3880 IH = IH + 1 3881 IT = IT + 1 3882 CALL MPI_RECV_INIT (SXY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3883 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3884 END IF 3885 ! 3886 IF ( FLGRDALL( 6, 2) ) THEN 3887 IH = IH + 1 3888 IT = IT + 1 3889 CALL MPI_RECV_INIT (TAUOX (I0),1,WW3_FIELD_VEC, IFROM, IT, & Page 58 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3890 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3891 IH = IH + 1 3892 IT = IT + 1 3893 CALL MPI_RECV_INIT (TAUOY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3894 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3895 END IF 3896 ! 3897 IF ( FLGRDALL( 6, 3) ) THEN 3898 IH = IH + 1 3899 IT = IT + 1 3900 CALL MPI_RECV_INIT (BHD(I0),1,WW3_FIELD_VEC, IFROM, IT, & 3901 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3902 END IF 3903 ! 3904 IF ( FLGRDALL( 6, 4) ) THEN 3905 IH = IH + 1 3906 IT = IT + 1 3907 CALL MPI_RECV_INIT (PHIOC (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3908 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3909 END IF 3910 ! 3911 IF ( FLGRDALL( 6, 5) ) THEN 3912 IH = IH + 1 3913 IT = IT + 1 3914 CALL MPI_RECV_INIT (TUSX (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3915 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3916 IH = IH + 1 3917 IT = IT + 1 3918 CALL MPI_RECV_INIT (TUSY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3919 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3920 END IF 3921 ! 3922 IF ( FLGRDALL( 6, 6) ) THEN 3923 IH = IH + 1 3924 IT = IT + 1 3925 CALL MPI_RECV_INIT (USSX (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3926 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3927 IH = IH + 1 3928 IT = IT + 1 3929 CALL MPI_RECV_INIT (USSY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3930 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3931 END IF 3932 ! 3933 IF ( FLGRDALL( 6, 7) ) THEN 3934 IH = IH + 1 3935 IT = IT + 1 3936 CALL MPI_RECV_INIT (PRMS (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3937 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3938 IH = IH + 1 3939 IT = IT + 1 3940 CALL MPI_RECV_INIT (TPMS (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3941 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3942 END IF 3943 ! 3944 IF ( FLGRDALL( 6, 8) ) THEN 3945 DO IK=1,2*NK 3946 IH = IH + 1 Page 59 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 3947 IT = IT + 1 3948 CALL MPI_RECV_INIT (US3D(I0,IK),1,WW3_FIELD_VEC, IFROM, IT, & 3949 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3950 END DO 3951 END IF 3952 ! 3953 IF ( FLGRDALL( 6, 9) ) THEN 3954 DO K=P2MSF(2),P2MSF(3) 3955 IH = IH + 1 3956 IT = IT + 1 3957 CALL MPI_RECV_INIT (P2SMS(I0,K),1,WW3_FIELD_VEC, IFROM, IT, & 3958 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3959 END DO 3960 END IF 3961 ! 3962 IF ( FLGRDALL( 7, 1) ) THEN 3963 IH = IH + 1 3964 IT = IT + 1 3965 CALL MPI_RECV_INIT (ABA (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3966 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3967 IH = IH + 1 3968 IT = IT + 1 3969 CALL MPI_RECV_INIT (ABD (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3970 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3971 END IF 3972 ! 3973 IF ( FLGRDALL( 7, 2) ) THEN 3974 IH = IH + 1 3975 IT = IT + 1 3976 CALL MPI_RECV_INIT (UBA (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3977 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3978 IH = IH + 1 3979 IT = IT + 1 3980 CALL MPI_RECV_INIT (UBD (I0),1,WW3_FIELD_VEC, IFROM, IT, & 3981 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3982 END IF 3983 ! 3984 IF ( FLGRDALL( 7, 3) ) THEN 3985 IH = IH + 1 3986 IT = IT + 1 3987 CALL MPI_RECV_INIT (BEDFORMS(I0,1),1,WW3_FIELD_VEC, IFROM, & 3988 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3989 IH = IH + 1 3990 IT = IT + 1 3991 CALL MPI_RECV_INIT (BEDFORMS(I0,2),1,WW3_FIELD_VEC, IFROM, & 3992 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3993 IH = IH + 1 3994 IT = IT + 1 3995 CALL MPI_RECV_INIT (BEDFORMS(I0,3),1,WW3_FIELD_VEC, IFROM, & 3996 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 3997 END IF 3998 ! 3999 IF ( FLGRDALL( 7, 4) ) THEN 4000 IH = IH + 1 4001 IT = IT + 1 4002 CALL MPI_RECV_INIT (PHIBBL(I0),1,WW3_FIELD_VEC, IFROM, IT, & 4003 MPI_COMM_WAVE, IRQGO2(IH), IERR ) Page 60 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4004 END IF 4005 ! 4006 IF ( FLGRDALL( 7, 5) ) THEN 4007 IH = IH + 1 4008 IT = IT + 1 4009 CALL MPI_RECV_INIT (TAUBBL(I0,1),1,WW3_FIELD_VEC, IFROM, & 4010 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4011 IH = IH + 1 4012 IT = IT + 1 4013 CALL MPI_RECV_INIT (TAUBBL(I0,2),1,WW3_FIELD_VEC, IFROM, & 4014 IT, MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4015 END IF 4016 ! 4017 IF ( FLGRDALL( 8, 1) ) THEN 4018 IH = IH + 1 4019 IT = IT + 1 4020 CALL MPI_RECV_INIT (MSSX (I0),1,WW3_FIELD_VEC, IFROM, IT, & 4021 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4022 IH = IH + 1 4023 IT = IT + 1 4024 CALL MPI_RECV_INIT (MSSY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 4025 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4026 END IF 4027 ! 4028 IF ( FLGRDALL( 8, 2) ) THEN 4029 IH = IH + 1 4030 IT = IT + 1 4031 CALL MPI_RECV_INIT (MSCX (I0),1,WW3_FIELD_VEC, IFROM, IT, & 4032 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4033 IH = IH + 1 4034 IT = IT + 1 4035 CALL MPI_RECV_INIT (MSCY (I0),1,WW3_FIELD_VEC, IFROM, IT, & 4036 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4037 END IF 4038 ! 4039 IF ( FLGRDALL( 9, 1) ) THEN 4040 IH = IH + 1 4041 IT = IT + 1 4042 CALL MPI_RECV_INIT (DTDYN(I0),1,WW3_FIELD_VEC, IFROM, IT, & 4043 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4044 END IF 4045 ! 4046 IF ( FLGRDALL( 9, 2) ) THEN 4047 IH = IH + 1 4048 IT = IT + 1 4049 CALL MPI_RECV_INIT (FCUT (I0),1,WW3_FIELD_VEC, IFROM, IT, & 4050 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4051 END IF 4052 ! 4053 IF ( FLGRDALL( 9, 3) ) THEN 4054 IH = IH + 1 4055 IT = IT + 1 4056 CALL MPI_RECV_INIT (CFLXYMAX(I0),1,WW3_FIELD_VEC, IFROM, IT,& 4057 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4058 END IF 4059 ! 4060 IF ( FLGRDALL( 9, 4) ) THEN Page 61 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4061 IH = IH + 1 4062 IT = IT + 1 4063 CALL MPI_RECV_INIT (CFLTHMAX(I0),1,WW3_FIELD_VEC, IFROM, IT,& 4064 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4065 END IF 4066 ! 4067 IF ( FLGRDALL( 9, 5) ) THEN 4068 IH = IH + 1 4069 IT = IT + 1 4070 CALL MPI_RECV_INIT (CFLKMAX(I0),1,WW3_FIELD_VEC, IFROM, IT, & 4071 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4072 END IF 4073 ! 4074 DO I=1, NOEXTR 4075 IF ( FLGRDALL(10, I) ) THEN 4076 IH = IH + 1 4077 IT = IT + 1 4078 CALL MPI_RECV_INIT (USERO(I0,I),1,WW3_FIELD_VEC, IFROM, IT, & 4079 MPI_COMM_WAVE, IRQGO2(IH), IERR ) 4080 END IF 4081 END DO 4082 ! 4083 END DO 4084 ! 4085 NRQGO2 = IH 4086 ! 4087 CALL W3SETA ( IMOD, NDSE, NDST ) 4088 ! 4089 END IF 4090 ! 4091 IF ( NRQGO2 .GT. NRQMAX*NAPROC ) THEN 4092 WRITE (NDSE,1011) NRQGO2, NRQMAX*NAPROC 4093 CALL EXTCDE (11) 4094 END IF 4095 ! 4096 END IF 4097 ! 4098 ! 2. Set-up for W3IORS ---------------------------------------------- / 4099 ! 2.a General preparations 4100 ! 4101 NRQRS = 0 4102 IH = 0 4103 IROOT = NAPRST - 1 4104 ! 4105 IF ( FLOUT(4) ) THEN 4106 ALLOCATE ( OUTPTS(IMOD)%OUT4%IRQRS(2*NSPEC) ) 4107 IRQRS => OUTPTS(IMOD)%OUT4%IRQRS 4108 ! 4109 ! 2.b Fields at end of file (allways) 4110 ! 4111 IF ( IAPROC.NE.NAPRST .AND. IAPROC.LE.NAPROC ) THEN 4112 ! 4113 IH = IH + 1 4114 IT = IT0 + 1 4115 CALL MPI_SEND_INIT (UST (IAPROC), 1, WW3_FIELD_VEC, & 4116 IROOT, IT, MPI_COMM_WAVE, IRQRS(IH), IERR ) 4117 ! Page 62 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4118 IH = IH + 1 4119 IT = IT0 + 2 4120 CALL MPI_SEND_INIT (USTDIR(IAPROC), 1, WW3_FIELD_VEC, & 4121 IROOT, IT, MPI_COMM_WAVE, IRQRS(IH), IERR ) 4122 ! 4123 IH = IH + 1 4124 IT = IT0 + 3 4125 CALL MPI_SEND_INIT (FPIS(IAPROC), 1, WW3_FIELD_VEC, & 4126 IROOT, IT, MPI_COMM_WAVE, IRQRS(IH), IERR ) 4127 ! 4128 ELSE IF ( IAPROC .EQ. NAPRST ) THEN 4129 DO I0=1, NAPROC 4130 IFROM = I0 - 1 4131 IF ( I0 .NE. IAPROC ) THEN 4132 ! 4133 IH = IH + 1 4134 IT = IT0 + 1 4135 CALL MPI_RECV_INIT (UST (I0),1,WW3_FIELD_VEC, & 4136 IFROM, IT, MPI_COMM_WAVE, IRQRS(IH), IERR ) 4137 ! 4138 IH = IH + 1 4139 IT = IT0 + 2 4140 CALL MPI_RECV_INIT (USTDIR(I0),1,WW3_FIELD_VEC, & 4141 IFROM, IT, MPI_COMM_WAVE, IRQRS(IH), IERR ) 4142 ! 4143 IH = IH + 1 4144 IT = IT0 + 3 4145 CALL MPI_RECV_INIT (FPIS(I0),1,WW3_FIELD_VEC, & 4146 IFROM, IT, MPI_COMM_WAVE, IRQRS(IH), IERR ) 4147 ! 4148 END IF 4149 ! 4150 END DO 4151 END IF 4152 ! 4153 NRQRS = IH 4154 IT0 = IT0 + 3 4155 ! 4156 ! 2.c Data server mode 4157 ! 4158 IF ( IOSTYP .GT. 0 ) THEN 4159 ! 4160 NSEALM = 1 + (NSEA-1)/NAPROC 4161 NBLKRS = 10 4162 RSBLKS = MAX ( 5 , NSEALM/NBLKRS ) 4163 IF ( NBLKRS*RSBLKS .LT. NSEALM ) RSBLKS = RSBLKS + 1 4164 NBLKRS = 1 + (NSEALM-1)/RSBLKS 4165 ! 4166 IH = 0 4167 ! 4168 IF ( IAPROC .NE. NAPRST ) THEN 4169 ! 4170 ALLOCATE ( OUTPTS(IMOD)%OUT4%IRQRSS(NBLKRS) ) 4171 IRQRSS => OUTPTS(IMOD)%OUT4%IRQRSS 4172 ! 4173 DO IB=1, NBLKRS 4174 IH = IH + 1 Page 63 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4175 IT = IT0 + 3 + IB 4176 JSEA0 = 1 + (IB-1)*RSBLKS 4177 JSEAN = MIN ( NSEALM , IB*RSBLKS ) 4178 NSEAB = 1 + JSEAN - JSEA0 4179 CALL MPI_SEND_INIT (VA(1,JSEA0), NSPEC*NSEAB,& 4180 MPI_REAL, IROOT, IT, MPI_COMM_WAVE, & 4181 IRQRSS(IH), IERR ) 4182 END DO 4183 ! 4184 ELSE 4185 ! 4186 ALLOCATE & 4187 ( OUTPTS(IMOD)%OUT4%IRQRSS(NAPROC*NBLKRS) , & 4188 OUTPTS(IMOD)%OUT4%VAAUX(NSPEC,2*RSBLKS,NAPROC) ) 4189 ! 4190 IRQRSS => OUTPTS(IMOD)%OUT4%IRQRSS 4191 VAAUX => OUTPTS(IMOD)%OUT4%VAAUX 4192 DO IB=1, NBLKRS 4193 IT = IT0 + 3 + IB 4194 JSEA0 = 1 + (IB-1)*RSBLKS 4195 JSEAN = MIN ( NSEALM , IB*RSBLKS ) 4196 NSEAB = 1 + JSEAN - JSEA0 4197 DO I0=1, NAPROC 4198 IF ( I0 .NE. NAPRST ) THEN 4199 IH = IH + 1 4200 IFROM = I0 - 1 4201 IBOFF = MOD(IB-1,2)*RSBLKS 4202 CALL MPI_RECV_INIT (VAAUX(1,1+IBOFF,I0),& 4203 NSPEC*NSEAB, MPI_REAL, IFROM, IT, & 4204 MPI_COMM_WAVE, IRQRSS(IH), IERR ) 4205 END IF 4206 END DO 4207 END DO 4208 ! 4209 END IF 4210 ! 4211 IT0 = IT0 + NBLKRS 4212 ! 4213 END IF 4214 ! 4215 END IF 4216 ! 4217 ! 3. Set-up for W3IOBC ( SENDs ) ------------------------------------ / 4218 ! 4219 NRQBP = 0 4220 NRQBP2 = 0 4221 IH = 0 4222 IT = IT0 4223 IROOT = NAPBPT - 1 4224 ! 4225 IF ( FLOUT(5) ) THEN 4226 ALLOCATE ( OUTPTS(IMOD)%OUT5%IRQBP1(NBO2(NFBPO)), & 4227 OUTPTS(IMOD)%OUT5%IRQBP2(NBO2(NFBPO)) ) 4228 IRQBP1 => OUTPTS(IMOD)%OUT5%IRQBP1 4229 IRQBP2 => OUTPTS(IMOD)%OUT5%IRQBP2 4230 ! 4231 ! 3.a Loops over files and points Page 64 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4232 ! 4233 DO J=1, NFBPO 4234 DO I=NBO2(J-1)+1, NBO2(J) 4235 ! 4236 IT = IT + 1 4237 ! 4238 ! 3.b Residence processor of point 4239 ! 4240 ISEA = ISBPO(I) 4241 JSEA = 1 + (ISEA-1)/NAPROC 4242 ISPROC = ISEA - (JSEA-1)*NAPROC 4243 ! 4244 ! 3.c If stored locally, send data 4245 ! 4246 IF ( IAPROC .EQ. ISPROC ) THEN 4247 IH = IH + 1 4248 CALL MPI_SEND_INIT (VA(1,JSEA),NSPEC,MPI_REAL, & 4249 IROOT, IT, MPI_COMM_WAVE, IRQBP1(IH), IERR) 4250 END IF 4251 ! 4252 END DO 4253 END DO 4254 ! 4255 ! ... End of loops 4.a 4256 ! 4257 NRQBP = IH 4258 ! 4259 ! 3.d Set-up for W3IOBC ( RECVs ) ------------------------------------ / 4260 ! 4261 IF ( IAPROC .EQ. NAPBPT ) THEN 4262 ! 4263 IH = 0 4264 IT = IT0 4265 ! 4266 ! 3.e Loops over files and points 4267 ! 4268 DO J=1, NFBPO 4269 DO I=NBO2(J-1)+1, NBO2(J) 4270 ! 4271 ! 3.f Residence processor of point 4272 ! 4273 ISEA = ISBPO(I) 4274 JSEA = 1 + (ISEA-1)/NAPROC 4275 ISPROC = ISEA - (JSEA-1)*NAPROC 4276 ! 4277 ! 3.g Receive in correct array 4278 ! 4279 IH = IH + 1 4280 IT = IT + 1 4281 ITARG = ISPROC - 1 4282 CALL MPI_RECV_INIT (ABPOS(1,IH),NSPEC,MPI_REAL,& 4283 ITARG, IT, MPI_COMM_WAVE, IRQBP2(IH), IERR) 4284 ! 4285 END DO 4286 END DO 4287 ! 4288 NRQBP2 = IH Page 65 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4289 ! 4290 ! ... End of loops 4.e 4291 ! 4292 END IF 4293 ! 4294 IT0 = IT0 + NBO2(NFBPO) 4295 ! 4296 END IF 4297 ! 4298 ! 4. Set-up for W3IOTR ---------------------------------------------- / 4299 ! 4300 IH = 0 4301 IROOT = NAPTRK - 1 4302 ! 4303 IF ( FLOUT(3) ) THEN 4304 ! 4305 ! 4.a U* 4306 ! 4307 IF ( IAPROC .NE. NAPTRK ) THEN 4308 ALLOCATE ( OUTPTS(IMOD)%OUT3%IRQTR(2) ) 4309 IRQTR => OUTPTS(IMOD)%OUT3%IRQTR 4310 IH = IH + 1 4311 IT = IT0 + 1 4312 CALL MPI_SEND_INIT (UST (IAPROC),1,WW3_FIELD_VEC,& 4313 IROOT, IT, MPI_COMM_WAVE, IRQTR(IH), IERR ) 4314 IH = IH + 1 4315 IT = IT0 + 2 4316 CALL MPI_SEND_INIT (USTDIR(IAPROC),1,WW3_FIELD_VEC,& 4317 IROOT, IT, MPI_COMM_WAVE, IRQTR(IH), IERR ) 4318 ELSE 4319 ALLOCATE ( OUTPTS(IMOD)%OUT3%IRQTR(2*NAPROC) ) 4320 IRQTR => OUTPTS(IMOD)%OUT3%IRQTR 4321 DO I0=1, NAPROC 4322 IFROM = I0 - 1 4323 IF ( I0 .NE. IAPROC ) THEN 4324 IH = IH + 1 4325 IT = IT0 + 1 4326 CALL MPI_RECV_INIT(UST (I0),1,WW3_FIELD_VEC,& 4327 IFROM,IT,MPI_COMM_WAVE, IRQTR(IH), IERR) 4328 IH = IH + 1 4329 IT = IT0 + 2 4330 CALL MPI_RECV_INIT(USTDIR(I0),1,WW3_FIELD_VEC,& 4331 IFROM,IT,MPI_COMM_WAVE, IRQTR(IH), IERR) 4332 END IF 4333 END DO 4334 END IF 4335 ! 4336 NRQTR = IH 4337 IT0 = IT0 + 2 4338 ! 4339 END IF 4340 ! 4341 ! 5. Set-up remaining counters -------------------------------------- / 4342 ! 4343 IT0PRT = IT0 4344 IT0PNT = IT0PRT + 2*NAPROC 4345 IT0TRK = IT0PNT + 5000 Page 66 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4346 ! 4347 RETURN 4348 ! 4349 ! Formats : 4350 ! 4351 1010 FORMAT (/' *** ERROR W3MPIO : ARRAY IRQGO TOO SMALL *** '/) 4352 1011 FORMAT (/' *** ERROR W3MPIO : ARRAY IRQGO2 TOO SMALL *** '/) 4353 ! 4354 !/ 4355 !/ End of W3MPIO ----------------------------------------------------- / 4356 !/ 4357 END SUBROUTINE W3MPIO ENTRY POINTS Name w3initmd_mp_w3mpio_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1010 Label 2737 1975 1011 Label 2738 2478 ABA Local 1405 R(4) 4 1 1 PTR 1405,1852,2351 ABD Local 1405 R(4) 4 1 1 PTR 1405,1856,2355 ABPOS Local 1424 R(4) 4 2 1 PTR 1424,2668 ASF Local 1399 R(4) 4 1 1 PTR 1399,1683,2182 BEDFORMS Local 1413 R(4) 4 2 1 PTR 1413,1874,1878,1882,2373,2377,2381 BHD Local 1411 R(4) 4 1 1 PTR 1411,1787,2286 CFLKMAX Local 1412 R(4) 4 1 1 PTR 1412,1957,2456 CFLTHMAX Local 1412 R(4) 4 1 1 PTR 1412,1950,2449 CFLXYMAX Local 1412 R(4) 4 1 1 PTR 1412,1943,2442 CGE Local 1411 R(4) 4 1 1 PTR 1411,1697,2196 CHARN Local 1410 R(4) 4 1 1 PTR 1410,1690,2189 DTDYN Local 1405 R(4) 4 1 1 PTR 1405,1929,2428 E3DF Local 1398 I(4) 4 2 1 PTR 1398,1476,1560,1569,1578,1587,1596 ,2059,2068,2077,2086,2095 EF Local 1414 R(4) 4 2 1 PTR 1414,1563,2062 EXTCDE Subr 1395 1395,1976,2479 FCUT Local 1405 R(4) 4 1 1 PTR 1405,1936,2435 FLGRDALL Local 1447 L(4) 4 2 200 1456,1475,1478,1480,1496,1503,1510 ,1517,1524,1531,1538,1545,1552,155 9,1568,1577,1586,1595,1604,1613,16 22,1631,1640,1649,1658,1665,1672,1 687,1694,1701,1708,1719,1730,1737, 1744,1751,1758,1773,1784,1791,1798 ,1809,1820,1831,1840,1849,1860,187 1,1886,1893,1904,1915,1926,1933,19 40,1947,1954,1962,1983,1995,2002,2 009,2016,2023,2030,2037,2044,2051, 2058,2067,2076,2085,2094,2103,2112 ,2121,2130,2139,2148,2157,2164,217 1,2186,2193,2200,2207,2218,2229,22 Page 67 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 36,2243,2250,2257,2272,2283,2290,2 297,2308,2319,2330,2339,2348,2359, 2370,2385,2392,2403,2414,2425,2432 ,2439,2446,2453,2461 FLOGR2 Local 1426 L(4) 4 2 1 PTR 1426,1456 FLOGRD Local 1420 L(4) 4 2 1 PTR 1420,1456 FLOUT Local 1416 L(4) 4 1 1 PTR 1416,1467,2491,2611,2689 FP0 Local 1404 R(4) 4 1 1 PTR 1404,1534,2033 FP1 Local 1404 R(4) 4 1 1 PTR 1404 FPIS Local 1399 R(4) 4 1 1 PTR 1399,2511,2531 HS Local 1401 R(4) 4 1 1 PTR 1401,1499,1998 I Local 1444 I(4) 4 scalar 1961,1962,1965,2460,2461,2464,2620 ,2626,2655,2659 I0 Local 1442 I(4) 4 scalar 1991,1993,1998,2005,2012,2019,2026 ,2033,2040,2047,2054,2062,2071,208 0,2089,2098,2107,2116,2125,2134,21 43,2152,2160,2167,2174,2178,2182,2 189,2196,2203,2210,2214,2221,2225, 2232,2239,2246,2253,2260,2264,2268 ,2275,2279,2286,2293,2300,2304,231 1,2315,2322,2326,2334,2343,2351,23 55,2362,2366,2373,2377,2381,2388,2 395,2399,2406,2410,2417,2421,2428, 2435,2442,2449,2456,2464,2515,2516 ,2517,2521,2526,2531,2583,2584,258 6,2588,2707,2708,2709,2712,2716 IAPROC Local 1416 I(4) 4 scalar PTR 1416,1493,1675,1679,1683,1979,2497 ,2501,2506,2511,2514,2517,2554,263 2,2647,2693,2698,2702,2709 IB Local 1444 I(4) 4 scalar 2559,2561,2562,2563,2578,2579,2580 ,2581,2587 IBOFF Local 1445 I(4) 4 scalar 2587,2588 IERR Local 1442 I(4) 4 scalar 1500,1507,1514,1521,1528,1535,1542 ,1549,1556,1564,1573,1582,1591,160 0,1609,1618,1627,1636,1645,1654,16 62,1669,1676,1680,1684,1691,1698,1 705,1712,1716,1723,1727,1734,1741, 1748,1755,1762,1766,1770,1777,1781 ,1788,1795,1802,1806,1813,1817,182 4,1828,1836,1845,1853,1857,1864,18 68,1875,1879,1883,1890,1897,1901,1 908,1912,1919,1923,1930,1937,1944, 1951,1958,1966,1999,2006,2013,2020 ,2027,2034,2041,2048,2055,2063,207 2,2081,2090,2099,2108,2117,2126,21 35,2144,2153,2161,2168,2175,2179,2 183,2190,2197,2204,2211,2215,2222, 2226,2233,2240,2247,2254,2261,2265 ,2269,2276,2280,2287,2294,2301,230 5,2312,2316,2323,2327,2335,2344,23 52,2356,2363,2367,2374,2378,2382,2 389,2396,2400,2407,2411,2418,2422, 2429,2436,2443,2450,2457,2465,2502 ,2507,2512,2522,2527,2532,2567,259 0,2635,2669,2699,2703,2713,2717 Page 68 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References IFJ Local 1441 I(4) 4 scalar 1474 IFROM Local 1443 I(4) 4 scalar 1993,1998,2005,2012,2019,2026,2033 ,2040,2047,2054,2062,2071,2080,208 9,2098,2107,2116,2125,2134,2143,21 52,2160,2167,2174,2178,2182,2189,2 196,2203,2210,2214,2221,2225,2232, 2239,2246,2253,2260,2264,2268,2275 ,2279,2286,2293,2300,2304,2311,231 5,2322,2326,2334,2343,2351,2355,23 62,2366,2373,2377,2381,2388,2395,2 399,2406,2410,2417,2421,2428,2435, 2442,2449,2456,2464,2516,2522,2527 ,2532,2586,2589,2708,2713,2717 IH Local 1442 I(4) 4 scalar 1491,1497,1500,1504,1507,1511,1514 ,1518,1521,1525,1528,1532,1535,153 9,1542,1546,1549,1553,1556,1561,15 64,1570,1573,1579,1582,1588,1591,1 597,1600,1606,1609,1615,1618,1624, 1627,1633,1636,1642,1645,1651,1654 ,1659,1662,1666,1669,1673,1676,167 7,1680,1681,1684,1688,1691,1695,16 98,1702,1705,1709,1712,1713,1716,1 720,1723,1724,1727,1731,1734,1738, 1741,1745,1748,1752,1755,1759,1762 ,1763,1766,1767,1770,1774,1777,177 8,1781,1785,1788,1792,1795,1799,18 02,1803,1806,1810,1813,1814,1817,1 821,1824,1825,1828,1833,1836,1842, 1845,1850,1853,1854,1857,1861,1864 ,1865,1868,1872,1875,1876,1879,188 0,1883,1887,1890,1894,1897,1898,19 01,1905,1908,1909,1912,1916,1919,1 920,1923,1927,1930,1934,1937,1941, 1944,1948,1951,1955,1958,1963,1966 ,1970,1989,1996,1999,2003,2006,201 0,2013,2017,2020,2024,2027,2031,20 34,2038,2041,2045,2048,2052,2055,2 060,2063,2069,2072,2078,2081,2087, 2090,2096,2099,2105,2108,2114,2117 ,2123,2126,2132,2135,2141,2144,215 0,2153,2158,2161,2165,2168,2172,21 75,2176,2179,2180,2183,2187,2190,2 194,2197,2201,2204,2208,2211,2212, 2215,2219,2222,2223,2226,2230,2233 ,2237,2240,2244,2247,2251,2254,225 8,2261,2262,2265,2266,2269,2273,22 76,2277,2280,2284,2287,2291,2294,2 298,2301,2302,2305,2309,2312,2313, 2316,2320,2323,2324,2327,2332,2335 ,2341,2344,2349,2352,2353,2356,236 0,2363,2364,2367,2371,2374,2375,23 78,2379,2382,2386,2389,2393,2396,2 397,2400,2404,2407,2408,2411,2415, 2418,2419,2422,2426,2429,2433,2436 ,2440,2443,2447,2450,2454,2457,246 Page 69 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 2,2465,2471,2488,2499,2502,2504,25 07,2509,2512,2519,2522,2524,2527,2 529,2532,2539,2552,2560,2567,2585, 2590,2607,2633,2635,2643,2649,2665 ,2668,2669,2674,2686,2696,2699,270 0,2703,2710,2713,2714,2717,2722 IK Local 1441 I(4) 4 scalar 1560,1563,1569,1572,1578,1581,1587 ,1590,1596,1599,1832,1835,2059,206 2,2068,2071,2077,2080,2086,2089,20 95,2098,2331,2334 IMOD Dummy 1308 I(4) 4 scalar ARG,IN 1483,1484,1486,1487,1983,1987,2473 ,2492,2493,2556,2557,2573,2574,257 6,2577,2612,2613,2614,2615,2694,26 95,2705,2706 IOSTYP Local 1425 I(4) 4 scalar 1425,2544 IP Local 1444 I(4) 4 1 4 IPTINT Local 1421 I(4) 4 3 1 PTR 1421 IROOT Local 1442 I(4) 4 scalar 1463,1499,1506,1513,1520,1527,1534 ,1541,1548,1555,1563,1572,1581,159 0,1599,1608,1617,1626,1635,1644,16 53,1661,1668,1676,1680,1684,1690,1 697,1704,1711,1715,1722,1726,1733, 1740,1747,1754,1761,1765,1769,1776 ,1780,1787,1794,1801,1805,1812,181 6,1823,1827,1835,1844,1852,1856,18 63,1867,1875,1879,1883,1889,1897,1 901,1907,1911,1918,1922,1929,1936, 1943,1950,1957,1965,2489,2502,2507 ,2512,2566,2609,2635,2687,2699,270 3 IRQBP1 Local 1423 I(4) 4 1 1 PTR 1423,2614,2635 IRQBP1 Local 2612 I(4) 4 1 1 PTR 2612,2614 IRQBP2 Local 1423 I(4) 4 1 1 PTR 1423,2615,2669 IRQBP2 Local 2613 I(4) 4 1 1 PTR 2613,2615 IRQGO Local 1419 I(4) 4 1 1 PTR 1419,1486,1500,1507,1514,1521,1528 ,1535,1542,1549,1556,1564,1573,158 2,1591,1600,1609,1618,1627,1636,16 45,1654,1662,1669,1676,1680,1684,1 691,1698,1705,1712,1716,1723,1727, 1734,1741,1748,1755,1762,1766,1770 ,1777,1781,1788,1795,1802,1806,181 3,1817,1824,1828,1836,1845,1853,18 57,1864,1868,1875,1879,1883,1890,1 897,1901,1908,1912,1919,1923,1930, 1937,1944,1951,1958,1966 IRQGO Local 1483 I(4) 4 1 1 PTR 1483,1486 IRQGO2 Local 1419 I(4) 4 1 1 PTR 1419,1487,1999,2006,2013,2020,2027 ,2034,2041,2048,2055,2063,2072,208 1,2090,2099,2108,2117,2126,2135,21 44,2153,2161,2168,2175,2179,2183,2 190,2197,2204,2211,2215,2222,2226, 2233,2240,2247,2254,2261,2265,2269 ,2276,2280,2287,2294,2301,2305,231 2,2316,2323,2327,2335,2344,2352,23 56,2363,2367,2374,2378,2382,2389,2 Page 70 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 396,2400,2407,2411,2418,2422,2429, 2436,2443,2450,2457,2465 IRQGO2 Local 1484 I(4) 4 1 1 PTR 1484,1487 IRQPO1 Local 1420 I(4) 4 1 1 PTR 1420 IRQPO2 Local 1420 I(4) 4 1 1 PTR 1420 IRQRS Local 1421 I(4) 4 1 1 PTR 1421,2493,2502,2507,2512,2522,2527 ,2532 IRQRS Local 2492 I(4) 4 1 1 PTR 2492,2493 IRQRSS Local 1422 I(4) 4 1 1 PTR 1422,2557,2567,2576,2590 IRQRSS Local 2556 I(4) 4 1 1 PTR 2556,2557,2573,2576 IRQTR Local 1424 I(4) 4 1 1 PTR 1424,2695,2699,2703,2706,2713,2717 IRQTR Local 2694 I(4) 4 1 1 PTR 2694,2695,2705,2706 IS Local 1443 I(4) 4 1 4 ISBPO Local 1423 I(4) 4 1 1 PTR 1423,2626,2659 ISEA Local 1446 I(4) 4 scalar 2626,2627,2628,2659,2660,2661 ISPROC Local 1446 I(4) 4 scalar 2628,2632,2661,2667 IT Local 1442 I(4) 4 scalar 1494,1498,1500,1505,1507,1512,1514 ,1519,1521,1526,1528,1533,1535,154 0,1542,1547,1549,1554,1556,1562,15 64,1571,1573,1580,1582,1589,1591,1 598,1600,1607,1609,1616,1618,1625, 1627,1634,1636,1643,1645,1652,1654 ,1660,1662,1667,1669,1674,1676,167 8,1680,1682,1684,1689,1691,1696,16 98,1703,1705,1710,1712,1714,1716,1 721,1723,1725,1727,1732,1734,1739, 1741,1746,1748,1753,1755,1760,1762 ,1764,1766,1768,1770,1775,1777,177 9,1781,1786,1788,1793,1795,1800,18 02,1804,1806,1811,1813,1815,1817,1 822,1824,1826,1828,1834,1836,1843, 1845,1851,1853,1855,1857,1862,1864 ,1866,1868,1873,1875,1877,1879,188 1,1883,1888,1890,1895,1897,1899,19 01,1906,1908,1910,1912,1917,1919,1 921,1923,1928,1930,1935,1937,1942, 1944,1949,1951,1956,1958,1964,1966 ,1992,1997,1998,2004,2005,2011,201 2,2018,2019,2025,2026,2032,2033,20 39,2040,2046,2047,2053,2054,2061,2 062,2070,2071,2079,2080,2088,2089, 2097,2098,2106,2107,2115,2116,2124 ,2125,2133,2134,2142,2143,2151,215 2,2159,2160,2166,2167,2173,2175,21 77,2179,2181,2183,2188,2189,2195,2 196,2202,2203,2209,2210,2213,2214, 2220,2221,2224,2225,2231,2233,2238 ,2240,2245,2247,2252,2254,2259,226 0,2263,2264,2267,2268,2274,2275,22 78,2279,2285,2286,2292,2293,2299,2 300,2303,2304,2310,2311,2314,2315, 2321,2322,2325,2326,2333,2334,2342 ,2343,2350,2351,2354,2355,2361,236 2,2365,2366,2372,2374,2376,2378,23 80,2382,2387,2388,2394,2396,2398,2 Page 71 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 400,2405,2406,2409,2410,2416,2417, 2420,2421,2427,2428,2434,2435,2441 ,2442,2448,2449,2455,2456,2463,246 4,2500,2502,2505,2507,2510,2512,25 20,2522,2525,2527,2530,2532,2561,2 566,2579,2589,2608,2622,2635,2650, 2666,2669,2697,2699,2701,2703,2711 ,2713,2715,2717 IT0 Local 1442 I(4) 4 scalar 1462,1494,1992,2500,2505,2510,2520 ,2525,2530,2540,2561,2579,2597,260 8,2650,2680,2697,2701,2711,2715,27 23,2729 IT0PNT Local 1424 I(4) 4 scalar PTR 1424,2730,2731 IT0PRT Local 1425 I(4) 4 scalar PTR 1425,2729,2730 IT0TRK Local 1424 I(4) 4 scalar PTR 1424,2731 ITARG Local 1444 I(4) 4 scalar 2667,2669 IX Local 1443 I(4) 4 1 4 IY Local 1443 I(4) 4 1 4 J Local 1444 I(4) 4 scalar 1454,1456,1475,1476,2619,2620,2654 ,2655 JSEA Local 1444 I(4) 4 scalar 2627,2628,2634,2660,2661 JSEA0 Local 1445 I(4) 4 scalar 2562,2564,2565,2580,2582 JSEAN Local 1445 I(4) 4 scalar 2563,2564,2581,2582 K Local 1446 I(4) 4 scalar 1455,1456,1605,1608,1614,1617,1623 ,1626,1632,1635,1641,1644,1650,165 3,1841,1844,2104,2107,2113,2116,21 22,2125,2131,2134,2140,2143,2149,2 152,2340,2343 MAPFS Local 1398 I(4) 4 2 1 PTR 1398 MAX Func 2548 scalar 2548 MIN Func 2563 scalar 2563,2581 MOD Func 2587 scalar 2587 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 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 Page 72 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 1400 I(4) 4 scalar PTR 1400,1500,1507,1514,1521,1528,1535 ,1542,1549,1556,1564,1573,1582,159 1,1600,1609,1618,1627,1636,1645,16 54,1662,1669,1676,1680,1684,1691,1 698,1705,1712,1716,1723,1727,1734, 1741,1748,1755,1762,1766,1770,1777 ,1781,1788,1795,1802,1806,1813,181 7,1824,1828,1836,1845,1853,1857,18 64,1868,1875,1879,1883,1890,1897,1 901,1908,1912,1919,1923,1930,1937, 1944,1951,1958,1966,1999,2006,2013 ,2020,2027,2034,2041,2048,2055,206 3,2072,2081,2090,2099,2108,2117,21 26,2135,2144,2153,2161,2168,2175,2 179,2183,2190,2197,2204,2211,2215, 2222,2226,2233,2240,2247,2254,2261 ,2265,2269,2276,2280,2287,2294,230 1,2305,2312,2316,2323,2327,2335,23 44,2352,2356,2363,2367,2374,2378,2 382,2389,2396,2400,2407,2411,2418, 2422,2429,2436,2443,2450,2457,2465 ,2502,2507,2512,2522,2527,2532,256 6,2590,2635,2669,2699,2703,2713,27 17 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 Page 73 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 74 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 Page 75 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 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 1499,1506,1513,1520,1527,1534,1541 ,1548,1555,1563,1572,1581,1590,159 9,1608,1617,1626,1635,1644,1653,16 61,1668,1690,1697,1704,1711,1715,1 722,1726,1733,1740,1747,1754,1761, 1765,1769,1776,1780,1787,1794,1801 ,1805,1812,1816,1823,1827,1835,184 4,1852,1856,1863,1867,1874,1878,18 82,1889,1896,1900,1907,1911,1918,1 922,1929,1936,1943,1950,1957,1965, 2566,2589,2634,2668 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_INIT Subr 1998 1998,2005,2012,2019,2026,2033,2040 ,2047,2054,2062,2071,2080,2089,209 8,2107,2116,2125,2134,2143,2152,21 60,2167,2174,2178,2182,2189,2196,2 203,2210,2214,2221,2225,2232,2239, 2246,2253,2260,2264,2268,2275,2279 ,2286,2293,2300,2304,2311,2315,232 2,2326,2334,2343,2351,2355,2362,23 66,2373,2377,2381,2388,2395,2399,2 Page 76 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 406,2410,2417,2421,2428,2435,2442, 2449,2456,2464,2521,2526,2531,2588 ,2668,2712,2716 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_INIT Subr 1499 1499,1506,1513,1520,1527,1534,1541 ,1548,1555,1563,1572,1581,1590,159 9,1608,1617,1626,1635,1644,1653,16 61,1668,1675,1679,1683,1690,1697,1 704,1711,1715,1722,1726,1733,1740, 1747,1754,1761,1765,1769,1776,1780 ,1787,1794,1801,1805,1812,1816,182 3,1827,1835,1844,1852,1856,1863,18 67,1874,1878,1882,1889,1896,1900,1 907,1911,1918,1922,1929,1936,1943, 1950,1957,1965,2501,2506,2511,2565 ,2634,2698,2702 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_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 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 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 Page 77 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 MSCX Local 1410 R(4) 4 1 1 PTR 1410,1918,2417 MSCY Local 1410 R(4) 4 1 1 PTR 1410,1922,2421 MSSX Local 1409 R(4) 4 1 1 PTR 1409,1907,2406 MSSY Local 1409 R(4) 4 1 1 PTR 1409,1911,2410 NAPBPT Local 1417 I(4) 4 scalar PTR 1417,2609,2647 NAPFLD Local 1417 I(4) 4 scalar PTR 1417,1463,1979 NAPPNT Local 1417 I(4) 4 scalar PTR 1417 NAPROC Local 1416 I(4) 4 scalar PTR 1416,1465,1484,1493,1991,2477,2478 ,2497,2515,2546,2573,2574,2583,262 7,2628,2660,2661,2705,2707,2730 NAPRST Local 1417 I(4) 4 scalar PTR 1417,2489,2497,2514,2554,2584 NAPTRK Local 1417 I(4) 4 scalar PTR 1417,2687,2693 NBLKRS Local 1421 I(4) 4 scalar PTR 1421,2547,2548,2549,2550,2556,2559 ,2573,2578,2597 NBO2 Local 1423 I(4) 4 1 1 PTR 1423,2612,2613,2620,2655,2680 NDSE Local 1425 I(4) 4 scalar PTR 1425,1975,1983,1987,2473,2478 NDST Local 1416 I(4) 4 scalar PTR 1416,1983,1987,2473 NFBPO Local 1423 I(4) 4 scalar PTR 1423,2612,2613,2619,2654,2680 NGRPP Param 1418 I(4) 4 scalar 1418,1447,1455 NK Local 1415 I(4) 4 scalar PTR 1415,1480,1832,2331 NOEXTR Param 1425 I(4) 4 scalar 1425,1473,1961,2460 NOGRP Param 1418 I(4) 4 scalar 1418,1447,1454 NOPTS Local 1421 I(4) 4 scalar PTR 1421 NOSWLL Local 1425 I(4) 4 scalar PTR 1425,1472,1605,1614,1623,1632,1641 ,1650,2104,2113,2122,2131,2140,214 9 NRQBP Local 1422 I(4) 4 scalar PTR 1422,2605,2643 NRQBP2 Local 1422 I(4) 4 scalar PTR 1422,2606,2674 NRQGO Local 1419 I(4) 4 scalar PTR 1419,1460,1970,1974,1975 NRQGO2 Local 1419 I(4) 4 scalar PTR 1419,1461,2471,2477,2478 NRQMAX Local 1446 I(4) 4 scalar 1472,1475,1478,1480,1482,1483,1484 ,1974,1975,2477,2478 NRQPO Local 1420 I(4) 4 scalar PTR 1420 NRQPO2 Local 1420 I(4) 4 scalar PTR 1420 NRQRS Local 1421 I(4) 4 scalar PTR 1421,2487,2539 NRQTR Local 1424 I(4) 4 scalar PTR 1424,2722 NSEA Local 1397 I(4) 4 scalar PTR 1397,1465,2546 NSEAB Local 1445 I(4) 4 scalar 2564,2565,2582,2589 NSEALM Local 1440 I(4) 4 scalar 1465,1499,1506,1513,1520,1527,1534 ,1541,1548,1555,1563,1572,1581,159 0,1599,1608,1617,1626,1635,1644,16 53,1661,1668,1690,1697,1704,1711,1 715,1722,1726,1733,1740,1747,1754, 1761,1765,1769,1776,1780,1787,1794 Page 78 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References ,1801,1805,1812,1816,1823,1827,183 5,1844,1852,1856,1863,1867,1874,18 78,1882,1889,1896,1900,1907,1911,1 918,1922,1929,1936,1943,1950,1957, 1965,2546,2548,2549,2550,2563,2581 NSPEC Local 1398 I(4) 4 scalar PTR 1398,1462,2492,2565,2574,2589,2634 ,2668 NTPROC Local 1416 I(4) 4 scalar PTR 1416 NX Local 1398 I(4) 4 scalar PTR 1398 OUT1 Local 1483 W3ODATMD^OTYPE1 1808 scalar 1483,1484,1486,1487 OUT3 Local 2694 W3ODATMD^OTYPE3 296 scalar 2694,2695,2705,2706 OUT4 Local 2492 W3ODATMD^OTYPE4 280 scalar 2492,2493,2556,2557,2573,2574,2576 ,2577 OUT5 Local 2612 W3ODATMD^OTYPE5 1640 scalar 2612,2613,2614,2615 OUTPTS Local 1419 RECORD 5960 1 1 ALC,TGT 1419,1483,1484,1486,1487,2492,2493 ,2556,2557,2573,2574,2576,2577,261 2,2613,2614,2615,2694,2695,2705,27 06 P2MSF Local 1398 I(4) 4 1 1 PTR 1398,1479,1841,2340 P2SMS Local 1414 R(4) 4 2 1 PTR 1414,1844,2343 PHIAW Local 1407 R(4) 4 1 1 PTR 1407,1704,2203 PHIBBL Local 1413 R(4) 4 1 1 PTR 1413,1889,2388 PHIOC Local 1407 R(4) 4 1 1 PTR 1407,1794,2293 PHS Local 1406 R(4) 4 2 1 PTR 1406,1608,2107 PLP Local 1406 R(4) 4 2 1 PTR 1406,1626,2125 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar PNR Local 1407 R(4) 4 1 1 PTR 1407,1668,2167 PRMS Local 1410 R(4) 4 1 1 PTR 1410,1823,2322 PSI Local 1407 R(4) 4 2 1 PTR 1407,1644,2143 PTH Local 1407 R(4) 4 2 1 PTR 1407,1635,2134 PTP Local 1406 R(4) 4 2 1 PTR 1406,1617,2116 PWS Local 1407 R(4) 4 2 1 PTR 1407,1653,2152 PWST Local 1407 R(4) 4 1 1 PTR 1407,1661,2160 RSBLKS Local 1422 I(4) 4 scalar PTR 1422,2548,2549,2550,2562,2563,2574 ,2580,2581,2587 SPPNT Local 1405 R(4) 4 3 1 PTR 1405 STH1M Local 1414 R(4) 4 2 1 PTR 1414,1581,2080 STH2M Local 1414 R(4) 4 2 1 PTR 1414,1599,2098 SXX Local 1406 R(4) 4 1 1 PTR 1406,1761,2260 SXY Local 1406 R(4) 4 1 1 PTR 1406,1769,2268 SYY Local 1406 R(4) 4 1 1 PTR 1406,1765,2264 T01 Local 1413 R(4) 4 1 1 PTR 1413,1527,2026 T02 Local 1401 R(4) 4 1 1 PTR 1401,1513,2012 T0M1 Local 1404 R(4) 4 1 1 PTR 1404,1520,2019 TAUBBL Local 1413 R(4) 4 2 1 PTR 1413,1896,1900,2395,2399 TAUOX Local 1408 R(4) 4 1 1 PTR 1408,1776,2275 TAUOY Local 1409 R(4) 4 1 1 PTR 1409,1780,2279 TAUWIX Local 1408 R(4) 4 1 1 PTR 1408,1711,1722,2210 TAUWIY Local 1408 R(4) 4 1 1 PTR 1408,1715,1726,2214 TAUWNX Local 1411 R(4) 4 1 1 PTR 1411,2221 TAUWNY Local 1411 R(4) 4 1 1 PTR 1411,2225 TH1M Local 1414 R(4) 4 2 1 PTR 1414,1572,2071 TH2M Local 1414 R(4) 4 2 1 PTR 1414,1590,2089 THM Local 1404 R(4) 4 1 1 PTR 1404,1541,2040 Page 79 Source Listing W3MPIO 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References THP0 Local 1404 R(4) 4 1 1 PTR 1404,1555,2054 THP1 Local 1404 R(4) 4 1 1 PTR 1404 THS Local 1404 R(4) 4 1 1 PTR 1404,1548,2047 TPMS Local 1410 R(4) 4 1 1 PTR 1410,1827,2326 TUSX Local 1408 R(4) 4 1 1 PTR 1408,1801,2300 TUSY Local 1408 R(4) 4 1 1 PTR 1408,1805,2304 UBA Local 1405 R(4) 4 1 1 PTR 1405,1863,2362 UBD Local 1405 R(4) 4 1 1 PTR 1405,1867,2366 US3D Local 1414 R(4) 4 2 1 PTR 1414,1835,2334 US3DF Local 1398 I(4) 4 1 1 PTR 1398 USERO Local 1406 R(4) 4 2 1 PTR 1406,1965,2464 USSX Local 1409 R(4) 4 1 1 PTR 1409,1812,2311 USSY Local 1409 R(4) 4 1 1 PTR 1409,1816,2315 UST Local 1399 R(4) 4 1 1 PTR 1399,1675,2174,2501,2521,2698,2712 USTDIR Local 1399 R(4) 4 1 1 PTR 1399,1679,2178,2506,2526,2702,2716 VA Local 1399 R(4) 4 2 1 PTR 1399,2565,2634 VAAUX Local 1422 R(4) 4 3 1 PTR 1422,2577,2588 VAAUX Local 2574 R(4) 4 3 1 PTR 2574,2577 W3ADATMD Module 1394 1394,1400,1401,1404 W3GDATMD Module 1397 1397,1398,1415 W3MPIO Subr 1308 965 W3ODATMD Module 1416 1416,1419 W3SERVMD Module 1395 1395 W3SETA Subr 1394 1394,2473 W3WDATMD Module 1399 1399 W3XDMA Subr 1394 1394,1983 W3XETA Subr 1394 1394,1987 WHITECAP Local 1412 R(4) 4 2 1 PTR 1412,1733,1740,1747,1754,2232,2239 ,2246,2253 WLM Local 1401 R(4) 4 1 1 PTR 1401,1506,2005 WW3_FIELD_VEC Local 1400 I(4) 4 scalar PTR 1400,1675,1679,1683,1998,2005,2012 ,2019,2026,2033,2040,2047,2054,206 2,2071,2080,2089,2098,2107,2116,21 25,2134,2143,2152,2160,2167,2174,2 178,2182,2189,2196,2203,2210,2214, 2221,2225,2232,2239,2246,2253,2260 ,2264,2268,2275,2279,2286,2293,230 0,2304,2311,2315,2322,2326,2334,23 43,2351,2355,2362,2366,2373,2377,2 381,2388,2395,2399,2406,2410,2417, 2421,2428,2435,2442,2449,2456,2464 ,2501,2506,2511,2521,2526,2531,269 8,2702,2712,2716 Page 80 Source Listing W3MPIO 2014-09-16 16:48 w3initmd.f90 4358 !/ ------------------------------------------------------------------- / 4359 SUBROUTINE W3MPIP ( IMOD ) 4360 !/ 4361 !/ +-----------------------------------+ 4362 !/ | WAVEWATCH III NOAA/NCEP | 4363 !/ | H. L. Tolman | 4364 !/ | FORTRAN 90 | 4365 !/ | Last update : 30-Oct-2009 | 4366 !/ +-----------------------------------+ 4367 !/ 4368 !/ 02-Aug-2006 : Origination. ( version 3.10 ) 4369 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 4370 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 4371 !/ (W. E. Rogers & T. J. Campbell, NRL) 4372 !/ 4373 ! 1. Purpose : 4374 ! 4375 ! Prepare MPI persistent communication needed for WAVEWATCH I/O 4376 ! routines. 4377 ! 4378 ! 2. Method : 4379 ! 4380 ! Create handles as needed. 4381 ! 4382 ! 3. Parameters : 4383 ! 4384 ! Parameter list 4385 ! ---------------------------------------------------------------- 4386 ! IMOD Int. I Model number. 4387 ! ---------------------------------------------------------------- 4388 ! 4389 ! 4. Subroutines used : 4390 ! 4391 ! Name Type Module Description 4392 ! ---------------------------------------------------------------- 4393 ! STRACE Subr. W3SERVMD Subroutine tracing. 4394 ! 4395 ! MPI_SEND_INIT, MPI_RECV_INIT 4396 ! Subr. mpif.h MPI persistent communication calls. 4397 ! ---------------------------------------------------------------- 4398 ! 4399 ! 5. Called by : 4400 ! 4401 ! Name Type Module Description 4402 ! ---------------------------------------------------------------- 4403 ! W3INIT Subr. W3INITMD Wave model initialization routine. 4404 ! ---------------------------------------------------------------- 4405 ! 4406 ! 6. Error messages : 4407 ! 4408 ! 7. Remarks : 4409 ! 4410 ! 8. Structure : 4411 ! 4412 ! See source code. 4413 ! 4414 ! 9. Switches : Page 81 Source Listing W3MPIP 2014-09-16 16:48 w3initmd.f90 4415 ! 4416 ! !/MPI MPI communication calls. 4417 ! 4418 ! !/S Enable subroutine tracing. 4419 ! !/MPIT Enable test output. 4420 ! 4421 ! 10. Source code : 4422 ! 4423 !/ ------------------------------------------------------------------- / 4424 USE W3SERVMD, ONLY: EXTCDE 4425 !/ 4426 USE W3GDATMD, ONLY: NX, NY, NSPEC, MAPFS 4427 USE W3WDATMD, ONLY: VA 4428 USE W3ADATMD, ONLY: MPI_COMM_WAVE, SPPNT 4429 USE W3ODATMD, ONLY: NDST, NDSE, IAPROC, NAPROC, NAPPNT, FLOUT 4430 USE W3ODATMD, ONLY: OUTPTS, NRQPO, NRQPO2, IRQPO1, IRQPO2, & 4431 NOPTS, IPTINT, IT0PNT, IT0TRK, O2IRQI 4432 !/ 4433 IMPLICIT NONE 4434 ! 4435 INCLUDE "mpif.h" 4436 !/ 4437 !/ ------------------------------------------------------------------- / 4438 !/ Parameter list 4439 !/ 4978 INTEGER, INTENT(IN) :: IMOD 4979 !/ 4980 !/ ------------------------------------------------------------------- / 4981 !/ Local parameters 4982 !/ 4983 INTEGER :: IH, IROOT, I, J, IT, IT0, JSEA, & 4984 IERR, ITARG, IX(4), IY(4), & 4985 K, IS(4), IP(4) 4986 INTEGER :: itout 4987 !/ 4988 !/ ------------------------------------------------------------------- / 4989 !/ 4990 ! 4991 IF ( O2IRQI ) THEN 4992 WRITE (NDSE,1001) 4993 CALL EXTCDE (1) 4994 END IF 4995 ! 4996 ! 1. Set-up for W3IOPE/O ( SENDs ) ---------------------------------- / 4997 ! 4998 NRQPO = 0 4999 NRQPO2 = 0 5000 IH = 0 5001 IT0 = IT0PNT 5002 IROOT = NAPPNT - 1 5003 ! 5004 ALLOCATE ( OUTPTS(IMOD)%OUT2%IRQPO1(4*NOPTS), & 5005 OUTPTS(IMOD)%OUT2%IRQPO2(4*NOPTS) ) 5006 IRQPO1 => OUTPTS(IMOD)%OUT2%IRQPO1 5007 IRQPO2 => OUTPTS(IMOD)%OUT2%IRQPO2 5008 O2IRQI = .TRUE. 5009 ! Page 82 Source Listing W3MPIP 2014-09-16 16:48 w3initmd.f90 5010 ! 1.a Loop over output locations 5011 ! 5012 DO I=1, NOPTS 5013 DO K=1,4 5014 IX(K)=IPTINT(1,K,I) 5015 IY(K)=IPTINT(2,K,I) 5016 END DO 5017 ! 1.b Loop over corner points 5018 ! 5019 DO J=1, 4 5020 ! 5021 IT = IT0 + (I-1)*4 + J 5022 IS(J) = MAPFS (IY(J),IX(J)) 5023 IF ( IS(J) .EQ. 0 ) THEN 5024 JSEA = 0 5025 IP(J) = NAPPNT 5026 ELSE 5027 JSEA = 1 + (IS(J)-1)/NAPROC 5028 IP(J) = IS(J) - (JSEA-1)*NAPROC 5029 END IF 5030 ! 5031 ! 1.c Send if point is stored here 5032 ! 5033 IF ( IP(J) .EQ. IAPROC ) THEN 5034 IH = IH + 1 5035 CALL MPI_SEND_INIT ( VA(1,JSEA), NSPEC, MPI_REAL, & 5036 IROOT, IT, MPI_COMM_WAVE, IRQPO1(IH), IERR ) 5037 END IF 5038 ! 5039 ! ... End of loop 1.b 5040 ! 5041 END DO 5042 ! 5043 ! ... End of loop 1.a 5044 ! 5045 END DO 5046 ! 5047 NRQPO = IH 5048 ! 5049 ! 1.d Set-up for W3IOPE/O ( RECVs ) ---------------------------------- / 5050 ! 5051 IF ( IAPROC .EQ. NAPPNT ) THEN 5052 ! 5053 IH = 0 5054 ! 5055 ! 2.e Loop over output locations 5056 ! 5057 DO I=1, NOPTS 5058 DO K=1,4 5059 IX(K)=IPTINT(1,K,I) 5060 IY(K)=IPTINT(2,K,I) 5061 END DO 5062 ! 5063 DO J=1, 4 5064 ! 5065 IT = IT0 + (I-1)*4 + J 5066 IS(J) = MAPFS (IY(J),IX(J)) Page 83 Source Listing W3MPIP 2014-09-16 16:48 w3initmd.f90 5067 IF ( IS(J) .EQ. 0 ) THEN 5068 JSEA = 0 5069 IP(J) = NAPPNT 5070 ELSE 5071 JSEA = 1 + (IS(J)-1)/NAPROC 5072 IP(J) = IS(J) - (JSEA-1)*NAPROC 5073 END IF 5074 ! 5075 ! 1.g Receive in correct array 5076 ! 5077 IH = IH + 1 5078 ITARG = IP(J) - 1 5079 CALL MPI_RECV_INIT ( SPPNT(1,1,J), NSPEC, MPI_REAL, & 5080 ITARG, IT, MPI_COMM_WAVE, IRQPO2(IH), IERR ) 5081 ! 5082 ! ... End of loop 1.f 5083 ! 5084 END DO 5085 ! 5086 ! ... End of loop 1.e 5087 ! 5088 END DO 5089 ! 5090 NRQPO2 = NOPTS*4 5091 ! 5092 END IF 5093 ! 5094 IT0 = IT0 + 8*NOPTS 5095 ! 5096 ! 1.h Base tag number for track output 5097 ! 5098 IT0TRK = IT0 5099 ! 5100 RETURN 5101 ! 5102 ! Formats : 5103 ! 5104 1001 FORMAT (/' *** ERROR W3MPIP : ARRAYS ALREADY ALLOCATED *** '/) 5105 ! 5106 !/ 5107 !/ End of W3MPIP ----------------------------------------------------- / 5108 !/ 5109 END SUBROUTINE W3MPIP Page 84 Source Listing W3MPIP 2014-09-16 16:48 Entry Points w3initmd.f90 ENTRY POINTS Name w3initmd_mp_w3mpip_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 2952 2840 EXTCDE Subr 2810 2810,2841 FLOUT Local 2815 L(4) 4 1 1 PTR 2815 I Local 2831 I(4) 4 scalar 2860,2862,2863,2869,2905,2907,2908 ,2913 IAPROC Local 2815 I(4) 4 scalar PTR 2815,2881,2899 IERR Local 2832 I(4) 4 scalar 2884,2928 IH Local 2831 I(4) 4 scalar 2848,2882,2884,2895,2901,2925,2928 IMOD Dummy 2745 I(4) 4 scalar ARG,IN 2852,2853,2854,2855 IP Local 2833 I(4) 4 1 4 2873,2876,2881,2917,2920,2926 IPTINT Local 2817 I(4) 4 3 1 PTR 2817,2862,2863,2907,2908 IROOT Local 2831 I(4) 4 scalar 2850,2884 IRQPO1 Local 2816 I(4) 4 1 1 PTR 2816,2854,2884 IRQPO1 Local 2852 I(4) 4 1 1 PTR 2852,2854 IRQPO2 Local 2816 I(4) 4 1 1 PTR 2816,2855,2928 IRQPO2 Local 2853 I(4) 4 1 1 PTR 2853,2855 IS Local 2833 I(4) 4 1 4 2870,2871,2875,2876,2914,2915,2919 ,2920 IT Local 2831 I(4) 4 scalar 2869,2884,2913,2928 IT0 Local 2831 I(4) 4 scalar 2849,2869,2913,2942,2946 IT0PNT Local 2817 I(4) 4 scalar PTR 2817,2849 IT0TRK Local 2817 I(4) 4 scalar PTR 2817,2946 ITARG Local 2832 I(4) 4 scalar 2926,2928 ITOUT Local 2834 I(4) 4 scalar IX Local 2832 I(4) 4 1 4 2862,2870,2907,2914 IY Local 2832 I(4) 4 1 4 2863,2870,2908,2914 J Local 2831 I(4) 4 scalar 2867,2869,2870,2871,2873,2875,2876 ,2881,2911,2913,2914,2915,2917,291 9,2920,2926,2927 JSEA Local 2831 I(4) 4 scalar 2872,2875,2876,2883,2916,2919,2920 K Local 2833 I(4) 4 scalar 2861,2862,2863,2906,2907,2908 MAPFS Local 2812 I(4) 4 2 1 PTR 2812,2870,2914 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 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 Page 85 Source Listing W3MPIP 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 2814 I(4) 4 scalar PTR 2814,2884,2928 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 MPI_DOUBLE_COMPLEX Param 320 I(4) 4 scalar MPI_DOUBLE_INT Param 409 I(4) 4 scalar Page 86 Source Listing W3MPIP 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 MPI_ERR_TAG Param 151 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 147 I(4) 4 scalar Page 87 Source Listing W3MPIP 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 MPI_MODE_CREATE Param 489 I(4) 4 scalar MPI_MODE_DELETE_ON_CLOSE Param 485 I(4) 4 scalar Page 88 Source Listing W3MPIP 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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 2883,2927 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_INIT Subr 2927 2927 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_INIT Subr 2883 2883 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_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 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 MPI_TYPE_NULL_DELETE_FN Subr 525 scalar Page 89 Source Listing W3MPIP 2014-09-16 16:48 Symbol Table w3initmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 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_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 NAPPNT Local 2815 I(4) 4 scalar PTR 2815,2850,2873,2899,2917 NAPROC Local 2815 I(4) 4 scalar PTR 2815,2875,2876,2919,2920 NDSE Local 2815 I(4) 4 scalar PTR 2815,2840 NDST Local 2815 I(4) 4 scalar PTR 2815 NOPTS Local 2817 I(4) 4 scalar PTR 2817,2852,2853,2860,2905,2938,2942 NRQPO Local 2816 I(4) 4 scalar PTR 2816,2846,2895 NRQPO2 Local 2816 I(4) 4 scalar PTR 2816,2847,2938 NSPEC Local 2812 I(4) 4 scalar PTR 2812,2883,2927 NX Local 2812 I(4) 4 scalar PTR 2812 NY Local 2812 I(4) 4 scalar PTR 2812 O2IRQI Local 2817 L(4) 4 scalar PTR 2817,2839,2856 OUT2 Local 2852 W3ODATMD^OTYPE2 1368 scalar 2852,2853,2854,2855 OUTPTS Local 2816 RECORD 5960 1 1 ALC,TGT 2816,2852,2853,2854,2855 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar SPPNT Local 2814 R(4) 4 3 1 PTR 2814,2927 VA Local 2813 R(4) 4 2 1 PTR 2813,2883 W3ADATMD Module 2814 2814 W3GDATMD Module 2812 2812 W3MPIP Subr 2745 966 W3ODATMD Module 2815 2815,2816 W3SERVMD Module 2810 2810 W3WDATMD Module 2813 2813 Page 90 Source Listing W3MPIP 2014-09-16 16:48 w3initmd.f90 5110 !/ 5111 !/ End of module W3INITMD -------------------------------------------- / 5112 !/ 5113 END MODULE W3INITMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References SWITCHES Param 107 CHAR 512 scalar W3INITMD Module 2 Page 91 Source Listing W3MPIP 2014-09-16 16:48 Subprograms/Common Blocks w3initmd.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 W3INIT Subr 114 W3INITMD Module 2 W3MPII Subr 1078 964 W3MPIO Subr 1308 965 W3MPIP Subr 2745 966 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__ Page 92 Source Listing W3MPIP 2014-09-16 16:48 w3initmd.f90 -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 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 : w3initmd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100