Page 1 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3ODATMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 19-Dec-2012 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ 13-Dec-2004 : Origination. ( version 3.06 ) 12 !/ 20-Jul-2005 : Adding output fields. ( version 3.07 ) 13 !/ 29-Sep-2005 : Second storage for input bound. sp. ( version 3.08 ) 14 !/ Add FILED for the dump of data. 15 !/ 26-Jun-2006 : Add output type 6, wave field sep. ( version 3.09 ) 16 !/ Wiring of code only. 17 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 18 !/ 24-Jul-2006 : Adding unified point output storage.( version 3.10 ) 19 !/ 25-Jul-2006 : Originating grid ID for points. ( version 3.10 ) 20 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 21 !/ 30-Oct-2006 : Add pars for partitioning. ( version 3.10 ) 22 !/ 26-Mar-2007 : Add pars for partitioning. ( version 3.11 ) 23 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 24 !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) 25 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 26 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 27 !/ (W. E. Rogers & T. J. Campbell, NRL) 28 !/ 14-Jul-2010 : Fix VAAUX declaration bug. ( version 3.14.2 ) 29 !/ 27-Jul-2010 : Add NKI, NTHI, XFRI, FR1I, TH1I. ( version 3.14.3 ) 30 !/ 08-Nov-2010 : Implementing unstructured grids ( version 3.14.4 ) 31 !/ (A. Roland and F. Ardhuin) 32 !/ 18-Dec-2012 : New 2D field output structure, ( version 4.11 ) 33 !/ reducing memory footprint for fields. 34 !/ 19-Dec-2012 : Move NOSWLL to data structure. ( version 4.11 ) 35 !/ 36 !/ Copyright 2009-2012 National Weather Service (NWS), 37 !/ National Oceanic and Atmospheric Administration. All rights 38 !/ reserved. WAVEWATCH III is a trademark of the NWS. 39 !/ No unauthorized use without permission. 40 !/ 41 ! 1. Purpose : 42 ! 43 ! Define data structures to set up wave model grids and aliases 44 ! to use individual grids transparently. Also includes subroutines 45 ! to manage data structure and pointing to individual models. 46 ! This module considers the parameters required for model output. 47 ! 48 ! 2. Variables and types : 49 ! 50 ! Name Type Scope Description 51 ! ---------------------------------------------------------------- 52 ! NOUTP Int. Public Number of models in array dim. 53 ! IOUTP Int. Public Selected model for output, init. at -1. 54 ! IOSTYP Int. Public Output data server type. 55 ! NOGRP I.P. Public Number of output field groups 56 ! NGRPP I.P. Public Max numb of parameters per output group 57 ! NOGE I.P. Public Number of output group elements Page 2 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 58 ! NOTYPE I.P. Public Number of output types 59 ! NOEXTR I.P. Public Number of extra (user available) 60 ! output fields. 61 ! IDOUT C.A. Public ID strings for output fields. 62 ! FNMPRE Char Public File name preamble. 63 ! UNDEF Real Public Value for undefined parameters in 64 ! gridded output fields. 65 ! UNIPTS Log. Public Flag for unified point output (output 66 ! to single file). 67 ! UPPROC Log. Public FLag for dedicated point output proc. 68 ! OUTPUT TYPE Public Data structure defining output. 69 ! OUTPTS GRID Public Array of output for models. 70 ! ---------------------------------------------------------------- 71 ! 72 ! Elements of OUTPUT are aliased to pointers with the same 73 ! name. These pointers are defined as : 74 ! 75 ! Name Type Scope Description 76 ! ---------------------------------------------------------------- 77 ! NDSO Int. Public General output unit number ("log 78 ! file"). 79 ! NDSE Int. Public Error output unit number. 80 ! NDST Int. Public Test output unit number. 81 ! SCREEN Int. Public Unit for 'direct' output. 82 ! NTPROC Int. Public Number of processors. 83 ! NAPROC Int. Public Number of processors for computation. 84 ! IAPROC Int. Public Actual processor number (base 1), 85 ! NAPLOG Int. Public Proc. dealing with log output. 86 ! NAPOUT Int. Public Proc. dealing with standard output. 87 ! NAPERR Int. Public Proc. dealing with error output. 88 ! NAPFLD Int. Public Proc. dealing with raw field output. 89 ! NAPPNT Int. Public Proc. dealing with raw point output. 90 ! NAPTRK Int. Public Proc. dealing with track output. 91 ! NAPRST Int. Public Proc. dealing with restart output. 92 ! NAPBPT Int. Public Proc. dealing with boundary output. 93 ! NAPPRT Int. Public Proc. dealing with partition output. 94 ! NOSWLL I.P. Public Number of swell fields from part. 95 ! to be used in field output. 96 ! TOFRST I.A. Public Times for first output. 97 ! TONEXT I.A. Public Times for next output. 98 ! TOLAST I.A. Public Times for last output. 99 ! TBPI0 I.A Public Time of first set of input boundary 100 ! spectra. 101 ! TBPIN I.A Public Id. second set. 102 ! NDS I.A. Public Data set numbers (see W3INIT). 103 ! DTOUT R.A. Public Output intervals. 104 ! FLOUT L.A. Public Output flags. 105 ! OUT1 TYPE Public Data structure of type OTYPE1 with 106 ! suppl. data for output type 1. 107 ! OUT2 TYPE Public Data structure of type OTYPE2 with 108 ! suppl. data for output type 2. 109 ! OUT3 TYPE Public Data structure of type OTYPE3 with 110 ! suppl. data for output type 3. 111 ! OUT4 TYPE Public Data structure of type OTYPE4 with 112 ! suppl. data for output type 4. 113 ! OUT5 TYPE Public Data structure of type OTYPE5 with 114 ! suppl. data for output type 5. Page 3 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 115 ! OUT6 TYPE Public Data structure of type OTYPE6 with 116 ! suppl. data for output type 6. 117 ! ---------------------------------------------------------------- 118 ! 119 ! Elements of OUT1 are aliased to pointers with the same 120 ! name. These pointers are defined as : 121 ! 122 ! Name Type Scope Description 123 ! ---------------------------------------------------------------- 124 ! IPASS1 Int. Public Pass counter for file management, 125 ! renamed to IPASS in routine. 126 ! WRITE1 Int. Public Write flag for file management, 127 ! renamed to WRITE in routine. 128 ! NRQGO(2) Int. Public Number of MPI handles W3IOGO. 129 ! IRQGO I.A. Public Array with MPI handles W3IOGO. 130 ! FLOGRD L.A. Public FLags for output fields. 131 ! FLOGR2 L.A. Public FLags for coupling fields. 132 ! FLOG L.A. Public Flags for output groups 133 ! ---------------------------------------------------------------- 134 ! 135 ! Elements of OUT2 are aliased to pointers with the same 136 ! name. These pointers are defined as : 137 ! 138 ! Name Type Scope Description 139 ! ---------------------------------------------------------------- 140 ! IPASS2 Int. Public Pass counter for file management, 141 ! renamed to IPASS in routine. 142 ! NOPTS Int. Public Number of output points. 143 ! NRQPO(2) Int. Public Number of MPI handles IRQPOn. (!/MPI) 144 ! IPTINT I.A. Public (I,J)-indices of enclosing cell corner points 145 ! IL I.A. Public Number of land points in interpola- 146 ! tion box for output point. 147 ! IW I.A. Public Id. water. 148 ! II I.A. Public Id. ice. 149 ! IRQPO1/2 I.A. Public Array with MPI handles. (!/MPI) 150 ! PTLOC R.A. Public Name of output locations. 151 ! PTIFAC R.A. Public Interpolation weights. 152 ! DPO R.A. Public Interpolated depths. 153 ! WAO R.A. Public Interpolated wind speeds. 154 ! WDO R.A. Public Interpolated wind directions. 155 ! ASO R.A. Public Interpolated air-sea temp. diff. 156 ! CAO R.A. Public Interpolated current speeds. 157 ! CDO R.A. Public Interpolated current directions. 158 ! SPCO R.A. Public Output spectra. 159 ! PTNME C.A. Public Output locations. 160 ! GRDID C.A. Public Originating grid ID. 161 ! O2INIT Log. Public Flag for array initialization. 162 ! O2IRQI Log. Public Flag for array initialization. 163 ! ---------------------------------------------------------------- 164 ! 165 ! Elements of OUT3 are aliased to pointers with the same 166 ! name. These pointers are defined as : 167 ! 168 ! Name Type Scope Description 169 ! ---------------------------------------------------------------- 170 ! IPASS3 Int. Public Pass counter for file management, 171 ! renamed to IPASS in routine. Page 4 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 172 ! IT0PNT Int. Public Base tag number of MPI communication. 173 ! IT0TRK Int. Public Base tag number of MPI communication. 174 ! IT0PRT Int. Public Base tag number of MPI communication. 175 ! NRQTR Int. Public Number of handles in IRQTR. 176 ! IRQTR I.A. Public Array with MPI handles. 177 ! O3INIT Log. Public Flag for array initialization. 178 ! STOP Log. Public Flag for end of output. 179 ! MASKn L.A. Public Mask arrays for internal use. 180 ! ---------------------------------------------------------------- 181 ! 182 ! Elements of OUT4 are aliased to pointers with the same 183 ! name. These pointers are defined as : 184 ! 185 ! Name Type Scope Description 186 ! ---------------------------------------------------------------- 187 ! IFILE4 Int. Public File number for output files. 188 ! NBLKRS Int. Public Number of blocks in communication of 189 ! spectra. 190 ! RSBLKS Int. Public Corresponding block size. 191 ! NRQSR Int. Public Number of MPI handles. 192 ! IRQRS I.A. Public Array with MPI handles. 193 ! IRQRSS I.A. Public Array with MPI handles. 194 ! VAAUX R.A. Public Aux. spectra storage. 195 ! ---------------------------------------------------------------- 196 ! 197 ! Elements of OUT5 are aliased to pointers with the same 198 ! name. These pointers are defined as : 199 ! 200 ! Name Type Scope Description 201 ! ---------------------------------------------------------------- 202 ! NBI(2) Int. Public Number of input bound. points. 203 ! NFBPO Int. Public Number of files for output bound. data. 204 ! NRQBP(2) Int. Public Number of MPI handles. 205 ! NKI,NTHI Int. Public Size of input spectra 206 ! NBO(2) I.A. Public Number of output bound. pts. per file. 207 ! NDSL I.A. Public Array with unit numbers. 208 ! IPBPI I.A. Public Interpolation data input b.p. 209 ! ISBPI I.A. Public Sea point counters for input b.p. 210 ! IRQBP1/2 I.A. Public Array with MPI handles. 211 ! XFRI, FR1I, TH1I 212 ! Real Public Definition of input spectra. 213 ! X/YBPI R.A. Public Location of input boundary points. 214 ! RDBPI R.A. Public Interpolation factors input b.p. 215 ! ABPI0/N R.A. Public Storage of spectra from which to 216 ! interpolate b.d. 217 ! BBPI0/N R.A. Public idem, secondary storage. 218 ! ABPOS R.A. Public Temporarily storage for output b.d. 219 ! IPBPO, ISBPO, X/YBPO, RDBPO 220 ! Misc. Public Id. for output b.p. 221 ! FLBPI Log. Public Flag for input of boundary data. 222 ! FLBPO Log. Public Flag for output of boundary data. 223 ! FILER/W/D Log. Public Read/write flags for file management. 224 ! SPCONV Log. Public Flag for change of spectral res. 225 ! O5INIn Log. Public Flag for array initializations. 226 ! ---------------------------------------------------------------- 227 ! 228 ! Elements of OUT6 are aliased to pointers with the same Page 5 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 229 ! name. These pointers are defined as : 230 ! 231 ! Name Type Scope Description 232 ! ---------------------------------------------------------------- 233 ! IPASS6 Int. Public Pass counter for file management, 234 ! renamed to IPASS in routine. 235 ! IHMAX Int. Public Number of discrete spectral levels. 236 ! IX0/N/S Int. Public First-last-step IX counters. 237 ! IY0/N/S Int. Public Idem IY counters. 238 ! HSPMIN Real Public Minimum significant height per part. 239 ! WSMULT Real Public Multiplier for wind sea boundary. 240 ! WSCUT Real Public Cut-off wind factor for wind seas. 241 ! ICPRT I.A. Public Counters for partitions. 242 ! DTPRT R.A. Public Data from partitions. 243 ! FLCOMB Log. Public Flag for combining wind seas. 244 ! FLFORM Log. Public Flag for (un)formatted output 245 ! O6INIT Log. Public Flag for array initializations. 246 ! ---------------------------------------------------------------- 247 ! 248 ! 3. Subroutines and functions : 249 ! 250 ! Name Type Scope Description 251 ! ---------------------------------------------------------------- 252 ! W3NOUT Subr. Public Set number of grids. 253 ! W3DMO2 Subr. Public Allocate arrays output type 2. 254 ! W3DMO3 Subr. Public Allocate arrays output type 3. 255 ! W3DMO5 Subr. Public Allocate arrays output type 5. 256 ! W3SETO Subr. Public Point to selected grid / model. 257 ! ---------------------------------------------------------------- 258 ! 259 ! 4. Subroutines and functions used : 260 ! 261 ! Name Type Module Description 262 ! ---------------------------------------------------------------- 263 ! W3SETG Subr. W3GDATMD Point to proper model grid. 264 ! STRACE Subr. W3SERVMD Subroutine tracing. 265 ! EXTCDE Subr. W3SERVMD Abort program with exit code. 266 ! ---------------------------------------------------------------- 267 ! 268 ! 5. Remarks : 269 ! 270 ! - The number of grids is taken from W3GDATMD, and needs to be 271 ! set first with W3DIMG. 272 ! 273 ! 6. Switches : 274 ! 275 ! !/MPI MPI specific calls. 276 ! !/S Enable subroutine tracing. 277 ! !/T Enable test output 278 ! 279 ! 7. Source code : 280 ! 281 !/ ------------------------------------------------------------------- / 282 PUBLIC 283 !/ 284 !/ Conventional declarations 285 !/ Page 6 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 286 INTEGER :: NOUTP = -1, IOUTP = -1, IOSTYP = 1 287 ! 288 INTEGER, PARAMETER :: NOGRP = 10 289 INTEGER, PARAMETER :: NGRPP = 20 290 INTEGER :: NOGE(NOGRP) 291 INTEGER :: NOTYPE 292 INTEGER, PARAMETER :: NOEXTR= 2 293 CHARACTER(LEN=20) :: IDOUT(NOGRP,NGRPP) 294 CHARACTER(LEN=80) :: FNMPRE = './' 295 REAL :: UNDEF = -999.9 296 LOGICAL :: UNIPTS = .FALSE., UPPROC = .FALSE. 297 !/ 298 !/ Set NOGE and IDOUT identifiers in W3NOUT 299 !/ 300 !/ Data structures 301 !/ 302 TYPE OTYPE1 303 INTEGER :: IPASS1 304 LOGICAL :: FLOGRD(NOGRP,NGRPP), FLOG(NOGRP), & 305 FLOGR2(NOGRP,NGRPP), WRITE1 306 END TYPE OTYPE1 307 !/ 308 TYPE OTYPE2 309 INTEGER :: IPASS2, NOPTS 310 INTEGER, POINTER :: IPTINT(:,:,:), IL(:), IW(:), II(:) 311 REAL, POINTER :: PTLOC(:,:), PTIFAC(:,:), & 312 DPO(:), WAO(:), WDO(:), ASO(:), & 313 CAO(:), CDO(:), SPCO(:,:) 314 CHARACTER(LEN=10), POINTER :: PTNME(:), GRDID(:) 315 LOGICAL :: O2INIT 316 END TYPE OTYPE2 317 !/ 318 TYPE OTYPE3 319 INTEGER :: IPASS3 320 LOGICAL :: O3INIT, STOP 321 LOGICAL, POINTER :: MASK1(:,:), MASK2(:,:) 322 END TYPE OTYPE3 323 !/ 324 TYPE OTYPE4 325 INTEGER :: IFILE4 326 END TYPE OTYPE4 327 !/ 328 TYPE OTYPE5 329 INTEGER :: NBI, NBI2, NFBPO, NBO(0:9), & 330 NBO2(0:9), NDSL(9), NKI, NTHI 331 INTEGER, POINTER :: IPBPI(:,:), ISBPI(:), & 332 IPBPO(:,:), ISBPO(:) 333 REAL :: XFRI, FR1I, TH1I 334 REAL, POINTER :: XBPI(:), YBPI(:), RDBPI(:,:), & 335 XBPO(:), YBPO(:), RDBPO(:,:), & 336 ABPI0(:,:), ABPIN(:,:), ABPOS(:,:), & 337 BBPI0(:,:), BBPIN(:,:) 338 LOGICAL :: O5INI1, O5INI2, O5INI3, O5INI4 339 LOGICAL :: FLBPI, FLBPO, FILER, FILEW, FILED, & 340 SPCONV 341 END TYPE OTYPE5 342 !/ Page 7 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 343 TYPE OTYPE6 344 INTEGER :: IPASS6, IHMAX, IX0, IXN, IXS, & 345 IY0, IYN, IYS 346 INTEGER, POINTER :: ICPRT(:,:) 347 REAL :: HSPMIN, WSMULT, WSCUT 348 REAL, POINTER :: DTPRT(:,:) 349 LOGICAL :: FLFORM, FLCOMB, O6INIT 350 END TYPE OTYPE6 351 !/ 352 TYPE OUTPUT 353 INTEGER :: NDSO, NDSE, NDST, SCREEN 354 INTEGER :: NTPROC, NAPROC, IAPROC, NAPLOG, & 355 NAPOUT, NAPERR, NAPFLD, NAPPNT, & 356 NAPTRK, NAPRST, NAPBPT, NAPPRT 357 INTEGER :: NOSWLL 358 INTEGER :: TOFRST(2), TONEXT(2,7), TOLAST(2,7), & 359 TBPI0(2), TBPIN(2), NDS(13) 360 REAL :: DTOUT(7) 361 LOGICAL :: FLOUT(7) 362 TYPE(OTYPE1) :: OUT1 363 TYPE(OTYPE2) :: OUT2 364 TYPE(OTYPE3) :: OUT3 365 TYPE(OTYPE4) :: OUT4 366 TYPE(OTYPE5) :: OUT5 367 TYPE(OTYPE6) :: OUT6 368 END TYPE OUTPUT 369 !/ 370 !/ Data storage 371 !/ 372 TYPE(OUTPUT), TARGET, ALLOCATABLE :: OUTPTS(:) 373 !/ 374 !/ Data aliasses for structure OUTPUT 375 !/ 376 INTEGER, POINTER :: NDSO, NDSE, NDST, SCREEN 377 INTEGER, POINTER :: NTPROC, NAPROC, IAPROC, NAPLOG, & 378 NAPOUT, NAPERR, NAPFLD, NAPPNT, & 379 NAPTRK, NAPRST, NAPBPT, NAPPRT 380 INTEGER, POINTER :: NOSWLL 381 INTEGER, POINTER :: TOFRST(:), TONEXT(:,:), TOLAST(:,:), & 382 TBPI0(:), TBPIN(:), NDS(:) 383 REAL, POINTER :: DTOUT(:) 384 LOGICAL, POINTER :: FLOUT(:) 385 !/ 386 !/ Data aliasses for substructures for output types 387 !/ Type 1 ... 388 !/ 389 INTEGER, POINTER :: IPASS1 390 LOGICAL, POINTER :: FLOGRD(:,:), FLOGR2(:,:), FLOG(:), & 391 WRITE1 392 !/ 393 !/ Type 2 ... 394 !/ 395 INTEGER, POINTER :: IPASS2, NOPTS 396 INTEGER, POINTER :: IPTINT(:,:,:), IL(:), IW(:), II(:) 397 REAL, POINTER :: PTLOC(:,:), PTIFAC(:,:), & 398 DPO(:), WAO(:), WDO(:), ASO(:), & 399 CAO(:), CDO(:), SPCO(:,:) Page 8 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 400 CHARACTER(LEN=10), POINTER :: PTNME(:), GRDID(:) 401 LOGICAL, POINTER :: O2INIT 402 !/ 403 !/ Type 3 ... 404 !/ 405 INTEGER, POINTER :: IPASS3 406 LOGICAL, POINTER :: O3INIT, STOP 407 LOGICAL, POINTER :: MASK1(:,:), MASK2(:,:) 408 !/ 409 !/ Type 4 ... 410 !/ 411 INTEGER, POINTER :: IFILE4 412 !/ 413 !/ Type 5 ... 414 !/ 415 INTEGER, POINTER :: NBI, NBI2, NFBPO, NKI, NTHI 416 INTEGER, POINTER :: NBO(:), NBO2(:), NDSL(:) 417 INTEGER, POINTER :: IPBPI(:,:), ISBPI(:), & 418 IPBPO(:,:), ISBPO(:) 419 REAL, POINTER :: XFRI, FR1I, TH1I 420 REAL, POINTER :: XBPI(:), YBPI(:), RDBPI(:,:), & 421 XBPO(:), YBPO(:), RDBPO(:,:), & 422 ABPI0(:,:), ABPIN(:,:), ABPOS(:,:), & 423 BBPI0(:,:), BBPIN(:,:) 424 LOGICAL, POINTER :: O5INI1, O5INI2, O5INI3, O5INI4 425 LOGICAL, POINTER :: FLBPI, FLBPO, FILER, FILEW, FILED, & 426 SPCONV 427 !/ 428 !/ Type 6 ... 429 !/ 430 INTEGER, POINTER :: IPASS6, IHMAX, IX0, IXN, IXS, & 431 IY0, IYN, IYS, ICPRT(:,:) 432 REAL, POINTER :: HSPMIN, WSMULT, WSCUT, DTPRT(:,:) 433 LOGICAL, POINTER :: FLFORM, FLCOMB, O6INIT 434 !/ 435 CONTAINS 436 !/ ------------------------------------------------------------------- / 437 SUBROUTINE W3NOUT ( NDSERR, NDSTST ) 438 !/ 439 !/ +-----------------------------------+ 440 !/ | WAVEWATCH III NOAA/NCEP | 441 !/ | H. L. Tolman | 442 !/ | FORTRAN 90 | 443 !/ | Last update : 19-Dec-2012 | 444 !/ +-----------------------------------+ 445 !/ 446 !/ 13-Dec-2004 : Origination. ( version 3.06 ) 447 !/ 27-Jun-2006 : Adding file name preamble ( version 3.09 ) 448 !/ 24-Jul-2006 : Adding unified point output storage.( version 3.10 ) 449 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 450 !/ 30-Oct-2006 : Add pars for partitioning. ( version 3.10 ) 451 !/ 26-Mar-2007 : Add pars for partitioning. ( version 3.11 ) 452 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 453 !/ 18-Dec-2012 : Moving IDOUT initialization here. ( version 4.11 ) 454 !/ 19-Dec-2012 : Move NOSWLL to data structure. ( version 4.11 ) 455 !/ 456 ! 1. Purpose : Page 9 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 457 ! 458 ! Set up the number of grids to be used. 459 ! 460 ! 2. Method : 461 ! 462 ! Use data stored in NGRIDS in W3GDATMD. 463 ! 464 ! 3. Parameters : 465 ! 466 ! Parameter list 467 ! ---------------------------------------------------------------- 468 ! NDSERR Int. I Error output unit number. 469 ! NDSTST Int. I Test output unit number. 470 ! ---------------------------------------------------------------- 471 ! 472 ! 4. Subroutines used : 473 ! 474 ! See module documentation below. 475 ! 476 ! 5. Called by : 477 ! 478 ! Any main program that uses this grid structure. 479 ! 480 ! 6. Error messages : 481 ! 482 ! - Error checks on previous setting of variable NGRIDS. 483 ! 484 ! 7. Remarks : 485 ! 486 ! 8. Structure : 487 ! 488 ! 9. Switches : 489 ! 490 ! !/S Enable subroutine tracing. 491 ! !/T Enable test output 492 ! 493 ! 10. Source code : 494 ! 495 !/ ------------------------------------------------------------------- / 496 USE W3GDATMD, ONLY: NGRIDS, NAUXGR 497 USE W3SERVMD, ONLY: EXTCDE 498 ! 499 IMPLICIT NONE 500 !/ 501 !/ ------------------------------------------------------------------- / 502 !/ Parameter list 503 !/ 504 INTEGER, INTENT(IN) :: NDSERR, NDSTST 505 !/ 506 !/ ------------------------------------------------------------------- / 507 !/ Local parameters 508 !/ 509 INTEGER :: I, NLOW, J 510 CHARACTER(LEN=20) :: STRING 511 !/ 512 ! 513 ! -------------------------------------------------------------------- / Page 10 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 514 ! 1. Test input and module status 515 ! 516 IF ( NGRIDS .EQ. -1 ) THEN 517 WRITE (NDSERR,1001) NGRIDS 518 CALL EXTCDE (1) 519 END IF 520 ! 521 ! -------------------------------------------------------------------- / 522 ! 2. Set variable and allocate arrays 523 ! 524 NLOW = MIN ( 0 , -NAUXGR ) 525 ALLOCATE ( OUTPTS(NLOW:NGRIDS) ) 526 NOUTP = NGRIDS 527 ! 528 ! -------------------------------------------------------------------- / 529 ! 3. Initialize parameters 530 ! 531 DO I=NLOW, NGRIDS 532 ! 533 OUTPTS(I)%NDSO = 6 534 OUTPTS(I)%NDSE = 6 535 OUTPTS(I)%NDST = 6 536 OUTPTS(I)%SCREEN = 6 537 ! 538 OUTPTS(I)%NTPROC = 1 539 OUTPTS(I)%NAPROC = 1 540 OUTPTS(I)%IAPROC = 1 541 OUTPTS(I)%NAPLOG = 1 542 OUTPTS(I)%NAPOUT = 1 543 OUTPTS(I)%NAPERR = 1 544 OUTPTS(I)%NAPFLD = 1 545 OUTPTS(I)%NAPPNT = 1 546 OUTPTS(I)%NAPTRK = 1 547 OUTPTS(I)%NAPRST = 1 548 OUTPTS(I)%NAPBPT = 1 549 OUTPTS(I)%NAPPRT = 1 550 ! 551 OUTPTS(I)%NOSWLL = -1 552 ! 553 OUTPTS(I)%TBPI0 = (-1,0) 554 OUTPTS(I)%TBPIN = (-1,0) 555 ! 556 OUTPTS(I)%OUT1%IPASS1 = 0 557 ! 558 OUTPTS(I)%OUT2%IPASS2 = 0 559 OUTPTS(I)%OUT2%NOPTS = 0 560 OUTPTS(I)%OUT2%O2INIT = .FALSE. 561 ! 562 OUTPTS(I)%OUT3%IPASS3 = 0 563 OUTPTS(I)%OUT3%O3INIT = .FALSE. 564 OUTPTS(I)%OUT3%STOP = .FALSE. 565 ! 566 OUTPTS(I)%OUT4%IFILE4 = 0 567 ! 568 OUTPTS(I)%OUT5%O5INI1 = .FALSE. 569 OUTPTS(I)%OUT5%O5INI2 = .FALSE. 570 OUTPTS(I)%OUT5%O5INI3 = .FALSE. Page 11 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 571 OUTPTS(I)%OUT5%O5INI4 = .FALSE. 572 OUTPTS(I)%OUT5%FILER = .TRUE. 573 OUTPTS(I)%OUT5%FILEW = .TRUE. 574 OUTPTS(I)%OUT5%FILED = .TRUE. 575 ! 576 OUTPTS(I)%OUT6%IPASS6 = 0 577 OUTPTS(I)%OUT6%O6INIT = .FALSE. 578 ! 579 END DO 580 ! 581 ! Set IDOUT 582 ! Commented outlines represent reserved slots. 583 ! 584 DO I=1, NOGRP 585 DO J=1, NGRPP 586 IDOUT(I,J) = 'Undefined / Not Used' 587 END DO 588 END DO 589 ! 590 ! 1) Forcing fields 591 ! 592 NOGE(1) = 7 593 ! 594 IDOUT( 1, 1) = 'Water depth ' 595 IDOUT( 1, 2) = 'Current vel. ' 596 IDOUT( 1, 3) = 'Wind speed ' 597 IDOUT( 1, 4) = 'Air-sea temp. dif. ' 598 IDOUT( 1, 5) = 'Water level ' 599 IDOUT( 1, 6) = 'Ice concentration ' 600 IDOUT( 1, 7) = 'Iceberg damp coeffic' 601 ! IDOUT( 1, 9) = 'Critical Shields num' 602 ! IDOUT( 1,10) = 'Base roughness K_N0 ' 603 ! 604 ! 2) Standard mean wave parameters 605 ! 606 NOGE(2) = 9 607 ! 608 IDOUT( 2, 1) = 'Wave height ' 609 IDOUT( 2, 2) = 'Mean wave length ' 610 IDOUT( 2, 3) = 'Mean wave period(+2)' 611 IDOUT( 2, 4) = 'Mean wave period(+1)' 612 IDOUT( 2, 5) = 'Mean wave period(-1)' 613 IDOUT( 2, 6) = 'Peak frequency ' 614 IDOUT( 2, 7) = 'Mean wave dir. a1b1 ' 615 IDOUT( 2, 8) = 'Mean dir. spr. a1b1 ' 616 IDOUT( 2, 9) = 'Peak direction ' 617 IDOUT( 2, 10) = 'Infragravity height' 618 ! IDOUT( 2,10) = 'Mean wave dir. a2b2 ' 619 ! IDOUT( 2,11) = 'Mean dir. spr. a2b2 ' 620 ! IDOUT( 2,12) = 'Windsea height (Sin)' 621 ! IDOUT( 2,13) = 'Windsea peak f (Sin)' 622 ! IDOUT( 2,14) = 'Subrange wave height' 623 ! 624 ! 3) Frequency-dependent standard parameters 625 ! 626 NOGE(3) = 6 627 ! Page 12 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 628 IDOUT( 3, 1) = '1D Freq. Spectrum ' 629 IDOUT( 3, 2) = 'Mean wave dir. a1b1 ' 630 IDOUT( 3, 3) = 'Mean dir. spr. a1b1 ' 631 IDOUT( 3, 4) = 'Mean wave dir. a2b2 ' 632 IDOUT( 3, 5) = 'Mean dir. spr. a2b2 ' 633 IDOUT( 3, 6) = 'Wavenumber array ' 634 ! 635 ! 4) Spectral Partitions parameters 636 ! 637 NOGE(4) = 8 638 ! 639 IDOUT( 4, 1) = 'Part. wave heigt ' 640 IDOUT( 4, 2) = 'Part. peak period ' 641 IDOUT( 4, 3) = 'Part. peak wave l. ' 642 IDOUT( 4, 4) = 'Part. mean direction' 643 IDOUT( 4, 5) = 'Part. dir. spread ' 644 IDOUT( 4, 6) = 'Part. wind sea frac.' 645 IDOUT( 4, 7) = 'Total wind sea frac.' 646 IDOUT( 4, 8) = 'Number of partitions' 647 ! 648 ! 5) Atmosphere-waves layer 649 ! 650 NOGE(5) = 10 651 ! 652 IDOUT( 5, 1) = 'Friction velocity ' 653 IDOUT( 5, 2) = 'Charnock parameter ' 654 IDOUT( 5, 3) = 'Energy flux ' 655 IDOUT( 5, 4) = 'Wind-wave enrgy flux' 656 IDOUT( 5, 5) = 'Wind-wave net mom. f' 657 IDOUT( 5, 6) = 'Wind-wave neg.mom.f.' 658 IDOUT( 5, 7) = 'Whitecap coverage ' 659 IDOUT( 5, 8) = 'Whitecap mean thick.' 660 IDOUT( 5, 9) = 'Mean breaking height' 661 IDOUT( 5,10) = 'Dominant break prob ' 662 ! IDOUT( 5,11) = 'Breaker passage rate' 663 ! 664 ! 6) Wave-ocean layer 665 ! 666 NOGE(6) = 9 667 ! 668 IDOUT( 6, 1) = 'Radiation stresses ' 669 IDOUT( 6, 2) = 'Wave-ocean mom. flux' 670 IDOUT( 6, 3) = 'wave ind p Bern Head' 671 IDOUT( 6, 4) = 'Wave-ocean TKE flux' 672 IDOUT( 6, 5) = 'Stokes transport ' 673 IDOUT( 6, 6) = 'Stokes drift at z=0 ' 674 IDOUT( 6, 7) = '2nd order pressure ' 675 IDOUT( 6, 8) = 'Stokes drft spectrum' 676 IDOUT( 6, 9) = '2nd ord press spectr' 677 ! 678 ! 7) Wave-bottom layer 679 ! 680 NOGE(7) = 5 681 ! 682 IDOUT( 7, 1) = 'Bottom rms ampl. ' 683 IDOUT( 7, 2) = 'Bottom rms velocity ' 684 IDOUT( 7, 3) = 'Bedform parameters ' Page 13 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 685 IDOUT( 7, 4) = 'Energy diss. in WBBL' 686 IDOUT( 7, 5) = 'Moment. loss in WBBL' 687 ! IDOUT( 7, 6) = 'Bottom mean period ' 688 ! IDOUT( 7, 7) = 'Bottom mean direct ' 689 ! IDOUT( 7, 8) = 'Bottom direct spread' 690 ! IDOUT( 7, 9) = 'Calc grain rough K_N' 691 ! 692 ! 8) Spectrum parameters 693 ! 694 NOGE(8) = 2 695 ! 696 IDOUT( 8, 1) = 'Mean square slopes ' 697 IDOUT( 8, 2) = 'Philllips tail const' 698 ! IDOUT( 8, 3) = '3rd spectral moment ' 699 ! IDOUT( 8, 4) = '4th spectral moment ' 700 ! IDOUT( 8, 5) = 'Goda peakedness parm' 701 ! IDOUT( 8, 6) = 'Kurtosis ' 702 ! IDOUT( 8, 7) = 'Skewness ' 703 ! 704 ! 9) Numerical diagnostics 705 ! 706 NOGE(9) = 5 707 ! 708 IDOUT( 9, 1) = 'Avg. time step. ' 709 IDOUT( 9, 2) = 'Cut-off freq. ' 710 IDOUT( 9, 3) = 'Maximum spatial CFL ' 711 IDOUT( 9, 4) = 'Maximum angular CFL ' 712 IDOUT( 9, 5) = 'Maximum k advect CFL' 713 ! IDOUT( 9, 6) = 'Avg intrsp proptstep' 714 ! 715 ! 10) User defined 716 ! 717 NOGE(10) = NOEXTR 718 ! 719 DO I=1, MIN ( 20 , NOEXTR ) 720 WRITE (STRING,'(A14,I2.2,A4)') 'User defined #', I, ' ' 721 IDOUT(10, I) = STRING 722 END DO 723 ! 724 RETURN 725 ! 726 ! Formats 727 ! 728 1001 FORMAT (/' *** ERROR W3NOUT : NGRIDS NOT YET SET *** '/ & 729 ' NGRIDS = ',I10/ & 730 ' RUN W3NMOD FIRST'/) 731 ! 732 !/ 733 !/ End of W3NOUT ----------------------------------------------------- / 734 !/ 735 END SUBROUTINE W3NOUT Page 14 Source Listing W3NOUT 2014-09-16 16:50 Entry Points w3odatmd.f90 ENTRY POINTS Name w3odatmd_mp_w3nout_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 728 517 EXTCDE Subr 497 497,518 FILED Local 574 L(4) 4 scalar TGT 574,1402 FILER Local 572 L(4) 4 scalar TGT 572,1400 FILEW Local 573 L(4) 4 scalar TGT 573,1401 I Local 509 I(4) 4 scalar 531,533,534,535,536,538,539,540,54 1,542,543,544,545,546,547,548,549, 551,553,554,556,558,559,560,562,56 3,564,566,568,569,570,571,572,573, 574,576,577,584,586,719,720,721 IAPROC Local 540 I(4) 4 scalar TGT 540,1325 IDOUT Local 586 CHAR 20 2 200 586,594,595,596,597,598,599,600,60 8,609,610,611,612,613,614,615,616, 617,628,629,630,631,632,633,639,64 0,641,642,643,644,645,646,652,653, 654,655,656,657,658,659,660,661,66 8,669,670,671,672,673,674,675,676, 682,683,684,685,686,696,697,708,70 9,710,711,712,721 IFILE4 Local 566 I(4) 4 scalar TGT 566,1385 IPASS1 Local 556 I(4) 4 scalar TGT 556,1348 IPASS2 Local 558 I(4) 4 scalar TGT 558,1354 IPASS3 Local 562 I(4) 4 scalar TGT 562,1376 IPASS6 Local 576 I(4) 4 scalar TGT 576,1436 J Local 509 I(4) 4 scalar 585,586 MIN Func 524 scalar 524,719 NAPBPT Local 548 I(4) 4 scalar TGT 548,1333 NAPERR Local 543 I(4) 4 scalar TGT 543,1328 NAPFLD Local 544 I(4) 4 scalar TGT 544,1329 NAPLOG Local 541 I(4) 4 scalar TGT 541,1326 NAPOUT Local 542 I(4) 4 scalar TGT 542,1327 NAPPNT Local 545 I(4) 4 scalar TGT 545,1330 NAPPRT Local 549 I(4) 4 scalar TGT 549,1334 NAPROC Local 539 I(4) 4 scalar TGT 539,1324 NAPRST Local 547 I(4) 4 scalar TGT 547,1332 NAPTRK Local 546 I(4) 4 scalar TGT 546,1331 NAUXGR Local 496 I(4) 4 scalar 496,524 NDSE Local 534 I(4) 4 scalar TGT 534,1319 NDSERR Dummy 437 I(4) 4 scalar ARG,IN 517 NDSO Local 533 I(4) 4 scalar TGT 533,1318 NDST Local 535 I(4) 4 scalar TGT 535,1320 NDSTST Dummy 437 I(4) 4 scalar ARG,IN NGRIDS Local 496 I(4) 4 scalar 496,516,517,525,526,531 NGRPP Param 585 I(4) 4 scalar 293,304,305,585 Page 15 Source Listing W3NOUT 2014-09-16 16:50 Symbol Table w3odatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References NLOW Local 509 I(4) 4 scalar 524,525,531 NOEXTR Param 717 I(4) 4 scalar 717,719 NOGE Local 592 I(4) 4 1 10 592,606,626,637,650,666,680,694,70 6,717 NOGRP Param 584 I(4) 4 scalar 290,293,304,305,584 NOPTS Local 559 I(4) 4 scalar TGT 559,1355 NOSWLL Local 551 I(4) 4 scalar TGT 551,1336 NOUTP Local 526 I(4) 4 scalar 286,526,831,832,987,988,1126,1127, 1299,1305,1306 NTPROC Local 538 I(4) 4 scalar TGT 538,1323 O2INIT Local 560 L(4) 4 scalar TGT 560,836,863,1356 O3INIT Local 563 L(4) 4 scalar TGT 563,992,1006,1377 O5INI1 Local 568 L(4) 4 scalar TGT 568,1150,1404 O5INI2 Local 569 L(4) 4 scalar TGT 569,1166,1405 O5INI3 Local 570 L(4) 4 scalar TGT 570,1181,1406 O5INI4 Local 571 L(4) 4 scalar TGT 571,1189,1407 O6INIT Local 577 L(4) 4 scalar TGT 577,1451 OUT1 Local 556 OTYPE1 1648 scalar 556,1348,1349,1350,1351,1352 OUT2 Local 558 OTYPE2 1216 scalar 558,559,560,836,847,848,849,850,85 1,852,853,854,855,856,857,858,859, 860,861,863,1354,1355,1356,1359,13 60,1361,1362,1363,1364,1365,1366,1 367,1368,1369,1370,1371,1372,1373 OUT3 Local 562 OTYPE3 208 scalar 562,563,564,992,1003,1004,1006,137 6,1377,1378,1381,1382 OUT4 Local 566 OTYPE4 4 scalar 566,1385 OUT5 Local 568 OTYPE5 1488 scalar 568,569,570,571,572,573,574,1138,1 139,1140,1141,1142,1144,1145,1146, 1147,1148,1150,1154,1155,1156,1157 ,1158,1160,1161,1162,1163,1164,116 6,1170,1171,1172,1173,1175,1176,11 77,1178,1181,1185,1187,1189,1387,1 388,1389,1390,1391,1392,1393,1394, 1395,1396,1397,1398,1399,1400,1401 ,1402,1403,1404,1405,1406,1407,141 0,1411,1412,1413,1414,1418,1419,14 20,1421,1422,1426,1427,1428,1429,1 433 OUT6 Local 576 OTYPE6 256 scalar 576,577,1436,1437,1438,1439,1440,1 441,1442,1443,1444,1445,1446,1447, 1448,1449,1450,1451 OUTPTS Local 525 RECORD 5136 1 1 ALC,TGT 525,533,534,535,536,538,539,540,54 1,542,543,544,545,546,547,548,549, 551,553,554,556,558,559,560,562,56 3,564,566,568,569,570,571,572,573, 574,576,577,836,847,848,849,850,85 1,852,853,854,855,856,857,858,859, 860,861,863,992,1003,1004,1006,113 8,1139,1140,1141,1142,1144,1145,11 46,1147,1148,1150,1154,1155,1156,1 157,1158,1160,1161,1162,1163,1164, 1166,1170,1171,1172,1173,1175,1176 ,1177,1178,1181,1185,1187,1189,131 8,1319,1320,1321,1323,1324,1325,13 26,1327,1328,1329,1330,1331,1332,1 Page 16 Source Listing W3NOUT 2014-09-16 16:50 Symbol Table w3odatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 333,1334,1336,1338,1339,1340,1341, 1342,1343,1345,1346,1348,1349,1350 ,1351,1352,1354,1355,1356,1359,136 0,1361,1362,1363,1364,1365,1366,13 67,1368,1369,1370,1371,1372,1373,1 376,1377,1378,1381,1382,1385,1387, 1388,1389,1390,1391,1392,1393,1394 ,1395,1396,1397,1398,1399,1400,140 1,1402,1403,1404,1405,1406,1407,14 10,1411,1412,1413,1414,1418,1419,1 420,1421,1422,1426,1427,1428,1429, 1433,1436,1437,1438,1439,1440,1441 ,1442,1443,1444,1445,1446,1447,144 8,1449,1450,1451 SCREEN Local 536 I(4) 4 scalar TGT 536,1321 STOP Local 564 L(4) 4 scalar TGT 564,1378 STRING Local 510 CHAR 20 scalar 720,721 TBPI0 Local 553 I(4) 4 1 2 553,1341 TBPIN Local 554 I(4) 4 1 2 554,1342 W3GDATMD Module 496 496 W3NOUT Subr 437 W3SERVMD Module 497 497 Page 17 Source Listing W3NOUT 2014-09-16 16:50 w3odatmd.f90 736 !/ ------------------------------------------------------------------- / 737 SUBROUTINE W3DMO2 ( IMOD, NDSE, NDST, NPT ) 738 !/ 739 !/ +-----------------------------------+ 740 !/ | WAVEWATCH III NOAA/NCEP | 741 !/ | H. L. Tolman | 742 !/ | FORTRAN 90 | 743 !/ | Last update : 30-Oct-2009 | 744 !/ +-----------------------------------+ 745 !/ 746 !/ 10-Nov-2004 : Origination. ( version 3.06 ) 747 !/ 24-Jul-2006 : Adding unified point output storage.( version 3.10 ) 748 !/ 25-Jul-2006 : Originating grid ID for points. ( version 3.10 ) 749 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 750 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 751 !/ (W. E. Rogers & T. J. Campbell, NRL) 752 !/ 753 ! 1. Purpose : 754 ! 755 ! Initialize an individual data storage for point output. 756 ! 757 ! 2. Method : 758 ! 759 ! Allocate directly into the structure array. Note that 760 ! this cannot be done through the pointer alias! 761 ! 762 ! 3. Parameters : 763 ! 764 ! Parameter list 765 ! ---------------------------------------------------------------- 766 ! IMOD Int. I Model number to point to. 767 ! NDSE Int. I Error output unit number. 768 ! NDST Int. I Test output unit number. 769 ! NPT Int. I Array size. 770 ! ---------------------------------------------------------------- 771 ! 772 ! 4. Subroutines used : 773 ! 774 ! See module documentation below. 775 ! 776 ! 5. Called by : 777 ! 778 ! Name Type Module Description 779 ! ---------------------------------------------------------------- 780 ! W3IOPO Subr. W3IOPOMD Point output module. 781 ! ---------------------------------------------------------------- 782 ! 783 ! 6. Error messages : 784 ! 785 ! - Check on input parameters. 786 ! - Check on previous allocation. 787 ! 788 ! 7. Remarks : 789 ! 790 ! - W3SETO needs to be called after allocation to point to 791 ! proper allocated arrays. 792 ! - Note that NOPTS is overwritten in W3IOPP. Page 18 Source Listing W3DMO2 2014-09-16 16:50 w3odatmd.f90 793 ! 794 ! 8. Structure : 795 ! 796 ! See source code. 797 ! 798 ! 9. Switches : 799 ! 800 ! !/S Enable subroutine tracing. 801 ! !/T Enable test output 802 ! 803 ! 10. Source code : 804 ! 805 !/ ------------------------------------------------------------------- / 806 USE W3GDATMD, ONLY: W3SETG, NGRIDS, NAUXGR, IGRID, NSPEC 807 USE W3SERVMD, ONLY: EXTCDE 808 ! 809 IMPLICIT NONE 810 !/ 811 !/ ------------------------------------------------------------------- / 812 !/ Parameter list 813 !/ 814 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST, NPT 815 !/ 816 !/ ------------------------------------------------------------------- / 817 !/ Local parameters 818 !/ 819 INTEGER :: JGRID, NLOW 820 !/ 821 ! 822 ! -------------------------------------------------------------------- / 823 ! 1. Test input and module status 824 ! 825 IF ( NGRIDS .EQ. -1 ) THEN 826 WRITE (NDSE,1001) 827 CALL EXTCDE (1) 828 END IF 829 ! 830 NLOW = MIN ( 0 , -NAUXGR ) 831 IF ( IMOD.LT.NLOW .OR. IMOD.GT.NOUTP ) THEN 832 WRITE (NDSE,1002) IMOD, NLOW, NOUTP 833 CALL EXTCDE (2) 834 END IF 835 ! 836 IF ( OUTPTS(IMOD)%OUT2%O2INIT ) THEN 837 WRITE (NDSE,1003) 838 CALL EXTCDE (3) 839 END IF 840 ! 841 JGRID = IGRID 842 IF ( JGRID .NE. IMOD ) CALL W3SETG ( IMOD, NDSE, NDST ) 843 ! 844 ! -------------------------------------------------------------------- / 845 ! 2. Allocate arrays 846 ! 847 ALLOCATE ( OUTPTS(IMOD)%OUT2%IPTINT(2,4,NPT) , & 848 OUTPTS(IMOD)%OUT2%IL(NPT) , & 849 OUTPTS(IMOD)%OUT2%IW(NPT) , & Page 19 Source Listing W3DMO2 2014-09-16 16:50 w3odatmd.f90 850 OUTPTS(IMOD)%OUT2%II(NPT) , & 851 OUTPTS(IMOD)%OUT2%PTIFAC(4,NPT) , & 852 OUTPTS(IMOD)%OUT2%PTNME(NPT) , & 853 OUTPTS(IMOD)%OUT2%GRDID(NPT) , & 854 OUTPTS(IMOD)%OUT2%DPO(NPT) , & 855 OUTPTS(IMOD)%OUT2%WAO(NPT) , & 856 OUTPTS(IMOD)%OUT2%WDO(NPT) , & 857 OUTPTS(IMOD)%OUT2%ASO(NPT) , & 858 OUTPTS(IMOD)%OUT2%CAO(NPT) , & 859 OUTPTS(IMOD)%OUT2%CDO(NPT) , & 860 OUTPTS(IMOD)%OUT2%SPCO(NSPEC,NPT) , & 861 OUTPTS(IMOD)%OUT2%PTLOC(2,NPT) ) 862 ! 863 OUTPTS(IMOD)%OUT2%O2INIT = .TRUE. 864 ! 865 ! -------------------------------------------------------------------- / 866 ! 3. Point to allocated arrays 867 ! 868 CALL W3SETO ( IMOD, NDSE, NDST ) 869 ! 870 ! -------------------------------------------------------------------- / 871 ! 4. Update counters in grid 872 ! 873 NOPTS = NPT 874 ! 875 ! -------------------------------------------------------------------- / 876 ! 5. Restore previous grid setting if necessary 877 ! 878 IF ( JGRID .NE. IMOD ) CALL W3SETG ( JGRID, NDSE, NDST ) 879 ! 880 RETURN 881 ! 882 ! Formats 883 ! 884 1001 FORMAT (/' *** ERROR W3DMO2 : GRIDS NOT INITIALIZED *** '/ & 885 ' RUN W3NMOD FIRST '/) 886 1002 FORMAT (/' *** ERROR W3DMO2 : ILLEGAL MODEL NUMBER *** '/ & 887 ' IMOD = ',I10/ & 888 ' NLOW = ',I10/ & 889 ' NOUTP = ',I10/) 890 1003 FORMAT (/' *** ERROR W3DMO2 : ARRAY(S) ALREADY ALLOCATED *** ') 891 ! 892 !/ 893 !/ End of W3DMO2 ----------------------------------------------------- / 894 !/ 895 END SUBROUTINE W3DMO2 Page 20 Source Listing W3DMO2 2014-09-16 16:50 Entry Points w3odatmd.f90 ENTRY POINTS Name w3odatmd_mp_w3dmo2_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 884 826 1002 Label 886 832 1003 Label 890 837 ASO Local 857 R(4) 4 1 1 PTR 857,1368 CAO Local 858 R(4) 4 1 1 PTR 858,1369 CDO Local 859 R(4) 4 1 1 PTR 859,1370 DPO Local 854 R(4) 4 1 1 PTR 854,1365 EXTCDE Subr 807 807,827,833,838 GRDID Local 853 CHAR 10 1 1 PTR 853,1373 IGRID Local 806 I(4) 4 scalar 806,841 II Local 850 I(4) 4 1 1 PTR 850,1362 IL Local 848 I(4) 4 1 1 PTR 848,1360 IMOD Dummy 737 I(4) 4 scalar ARG,IN 831,832,836,842,847,848,849,850,85 1,852,853,854,855,856,857,858,859, 860,861,863,868,878 IPTINT Local 847 I(4) 4 3 1 PTR 847,1359 IW Local 849 I(4) 4 1 1 PTR 849,1361 JGRID Local 819 I(4) 4 scalar 841,842,878 MIN Func 830 scalar 830 NAUXGR Local 806 I(4) 4 scalar 806,830 NDSE Dummy 737 I(4) 4 scalar ARG,IN 826,832,837,842,868,878 NDST Dummy 737 I(4) 4 scalar ARG,IN 842,868,878 NGRIDS Local 806 I(4) 4 scalar 806,825 NLOW Local 819 I(4) 4 scalar 830,831,832 NOPTS Local 873 I(4) 4 scalar PTR 873,1355 NPT Dummy 737 I(4) 4 scalar ARG,IN 847,848,849,850,851,852,853,854,85 5,856,857,858,859,860,861,873 NSPEC Local 806 I(4) 4 scalar PTR 806,860 PTIFAC Local 851 R(4) 4 2 1 PTR 851,1364 PTLOC Local 861 R(4) 4 2 1 PTR 861,1363 PTNME Local 852 CHAR 10 1 1 PTR 852,1372 SPCO Local 860 R(4) 4 2 1 PTR 860,1371 W3DMO2 Subr 737 W3GDATMD Module 806 806 W3SERVMD Module 807 807 W3SETG Subr 806 806,842,878 WAO Local 855 R(4) 4 1 1 PTR 855,1366 WDO Local 856 R(4) 4 1 1 PTR 856,1367 Page 21 Source Listing W3DMO2 2014-09-16 16:50 w3odatmd.f90 896 !/ ------------------------------------------------------------------- / 897 SUBROUTINE W3DMO3 ( IMOD, NDSE, NDST ) 898 !/ 899 !/ +-----------------------------------+ 900 !/ | WAVEWATCH III NOAA/NCEP | 901 !/ | H. L. Tolman | 902 !/ | FORTRAN 90 | 903 !/ | Last update : 04-Oct-2006 ! 904 !/ +-----------------------------------+ 905 !/ 906 !/ 24-Nov-2004 : Origination. ( version 3.06 ) 907 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 908 !/ 909 ! 1. Purpose : 910 ! 911 ! Initialize an individual data storage for track output. 912 ! 913 ! 2. Method : 914 ! 915 ! Allocate directly into the structure array. Note that 916 ! this cannot be done through the pointer alias! 917 ! 918 ! 3. Parameters : 919 ! 920 ! Parameter list 921 ! ---------------------------------------------------------------- 922 ! IMOD Int. I Model number to point to. 923 ! NDSE Int. I Error output unit number. 924 ! NDST Int. I Test output unit number. 925 ! ---------------------------------------------------------------- 926 ! 927 ! 4. Subroutines used : 928 ! 929 ! See module documentation below. 930 ! 931 ! 5. Called by : 932 ! 933 ! Name Type Module Description 934 ! ---------------------------------------------------------------- 935 ! W3IOTR Subr. W3IOTRMD Track output module. 936 ! ---------------------------------------------------------------- 937 ! 938 ! 6. Error messages : 939 ! 940 ! - Check on input parameters. 941 ! - Check on previous allocation. 942 ! 943 ! 7. Remarks : 944 ! 945 ! - W3SETO needs to be called after allocation to point to 946 ! proper allocated arrays. 947 ! 948 ! 8. Structure : 949 ! 950 ! See source code. 951 ! 952 ! 9. Switches : Page 22 Source Listing W3DMO3 2014-09-16 16:50 w3odatmd.f90 953 ! 954 ! !/SHRD, !/DIST, !/MPI 955 ! Shared / distributed memory model 956 ! 957 ! !/S Enable subroutine tracing. 958 ! !/T Enable test output 959 ! 960 ! 10. Source code : 961 ! 962 !/ ------------------------------------------------------------------- / 963 USE W3GDATMD, ONLY: W3SETG, NGRIDS, IGRID, NX, NY 964 USE W3SERVMD, ONLY: EXTCDE 965 ! 966 IMPLICIT NONE 967 !/ 968 !/ ------------------------------------------------------------------- / 969 !/ Parameter list 970 !/ 971 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST 972 !/ 973 !/ ------------------------------------------------------------------- / 974 !/ Local parameters 975 !/ 976 INTEGER :: JGRID 977 !/ 978 ! 979 ! -------------------------------------------------------------------- / 980 ! 1. Test input and module status 981 ! 982 IF ( NGRIDS .EQ. -1 ) THEN 983 WRITE (NDSE,1001) 984 CALL EXTCDE (1) 985 END IF 986 ! 987 IF ( IMOD.LT.1 .OR. IMOD.GT.NOUTP ) THEN 988 WRITE (NDSE,1002) IMOD, NOUTP 989 CALL EXTCDE (2) 990 END IF 991 ! 992 IF ( OUTPTS(IMOD)%OUT3%O3INIT ) THEN 993 WRITE (NDSE,1003) 994 CALL EXTCDE (3) 995 END IF 996 ! 997 JGRID = IGRID 998 IF ( JGRID .NE. IMOD ) CALL W3SETG ( IMOD, NDSE, NDST ) 999 ! 1000 ! -------------------------------------------------------------------- / 1001 ! 2. Allocate arrays 1002 ! 1003 ALLOCATE ( OUTPTS(IMOD)%OUT3%MASK1(NY,NX) , & 1004 OUTPTS(IMOD)%OUT3%MASK2(NY,NX) ) 1005 ! 1006 OUTPTS(IMOD)%OUT3%O3INIT = .TRUE. 1007 ! 1008 ! -------------------------------------------------------------------- / 1009 ! 3. Point to allocated arrays Page 23 Source Listing W3DMO3 2014-09-16 16:50 w3odatmd.f90 1010 ! 1011 CALL W3SETO ( IMOD, NDSE, NDST ) 1012 ! 1013 ! -------------------------------------------------------------------- / 1014 ! 4. Update counters in grid 1015 ! 1016 ! -------------------------------------------------------------------- / 1017 ! 5. Restore previous grid setting if necessary 1018 ! 1019 IF ( JGRID .NE. IMOD ) CALL W3SETG ( JGRID, NDSE, NDST ) 1020 ! 1021 RETURN 1022 ! 1023 ! Formats 1024 ! 1025 1001 FORMAT (/' *** ERROR W3DMO3 : GRIDS NOT INITIALIZED *** '/ & 1026 ' RUN W3NMOD FIRST '/) 1027 1002 FORMAT (/' *** ERROR W3DMO3 : ILLEGAL MODEL NUMBER *** '/ & 1028 ' IMOD = ',I10/ & 1029 ' NOUTP = ',I10/) 1030 1003 FORMAT (/' *** ERROR W3DMO3 : ARRAY(S) ALREADY ALLOCATED *** ') 1031 ! 1032 !/ 1033 !/ End of W3DMO3 ----------------------------------------------------- / 1034 !/ 1035 END SUBROUTINE W3DMO3 ENTRY POINTS Name w3odatmd_mp_w3dmo3_ Page 24 Source Listing W3DMO3 2014-09-16 16:50 Symbol Table w3odatmd.f90 SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 1025 983 1002 Label 1027 988 1003 Label 1030 993 EXTCDE Subr 964 964,984,989,994 IGRID Local 963 I(4) 4 scalar 963,997 IMOD Dummy 897 I(4) 4 scalar ARG,IN 987,988,992,998,1003,1004,1006,101 1,1019 JGRID Local 976 I(4) 4 scalar 997,998,1019 MASK1 Local 1003 L(4) 4 2 1 PTR 1003,1381 MASK2 Local 1004 L(4) 4 2 1 PTR 1004,1382 NDSE Dummy 897 I(4) 4 scalar ARG,IN 983,988,993,998,1011,1019 NDST Dummy 897 I(4) 4 scalar ARG,IN 998,1011,1019 NGRIDS Local 963 I(4) 4 scalar 963,982 NX Local 963 I(4) 4 scalar PTR 963,1003,1004 NY Local 963 I(4) 4 scalar PTR 963,1003,1004 W3DMO3 Subr 897 W3GDATMD Module 963 963 W3SERVMD Module 964 964 W3SETG Subr 963 963,998,1019 Page 25 Source Listing W3DMO3 2014-09-16 16:50 w3odatmd.f90 1036 !/ ------------------------------------------------------------------- / 1037 SUBROUTINE W3DMO5 ( IMOD, NDSE, NDST, IBLOCK ) 1038 !/ 1039 !/ +-----------------------------------+ 1040 !/ | WAVEWATCH III NOAA/NCEP | 1041 !/ | H. L. Tolman | 1042 !/ | FORTRAN 90 | 1043 !/ | Last update : 04-Oct-2006 ! 1044 !/ +-----------------------------------+ 1045 !/ 1046 !/ 13-Dec-2004 : Origination. ( version 3.06 ) 1047 !/ 06-Sep-2005 : Second storage for input bound. sp. ( version 3.08 ) 1048 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 1049 !/ 1050 ! 1. Purpose : 1051 ! 1052 ! Initialize an individual data storage for boundary data. 1053 ! 1054 ! 2. Method : 1055 ! 1056 ! Allocate directly into the structure array. Note that 1057 ! this cannot be done through the pointer alias! 1058 ! 1059 ! 3. Parameters : 1060 ! 1061 ! Parameter list 1062 ! ---------------------------------------------------------------- 1063 ! IMOD Int. I Model number to point to. 1064 ! NDSE Int. I Error output unit number. 1065 ! NDST Int. I Test output unit number. 1066 ! IBLOCK Int. I Select block to allocate. 1067 ! ---------------------------------------------------------------- 1068 ! 1069 ! 4. Subroutines used : 1070 ! 1071 ! See module documentation below. 1072 ! 1073 ! 5. Called by : 1074 ! 1075 ! Name Type Module Description 1076 ! ---------------------------------------------------------------- 1077 ! W3IOBC Subr. W3IOBCMD Boundary data output module. 1078 ! W3IOGR Subr. W3IOGRMD Grid data output module. 1079 ! W3WAVE Subr. W3WAVEMD Actual wave model routine. 1080 ! WW3_GRID Prog. N/A Grid preprocessing program. 1081 ! ---------------------------------------------------------------- 1082 ! 1083 ! 6. Error messages : 1084 ! 1085 ! - Check on input parameters. 1086 ! - Check on previous allocation. 1087 ! 1088 ! 7. Remarks : 1089 ! 1090 ! 8. Structure : 1091 ! 1092 ! See source code. Page 26 Source Listing W3DMO5 2014-09-16 16:50 w3odatmd.f90 1093 ! 1094 ! 9. Switches : 1095 ! 1096 ! !/S Enable subroutine tracing. 1097 ! !/T Enable test output 1098 ! 1099 ! 10. Source code : 1100 ! 1101 !/ ------------------------------------------------------------------- / 1102 USE W3GDATMD, ONLY: W3SETG, NGRIDS, IGRID, NX, NY, NSPEC 1103 USE W3SERVMD, ONLY: EXTCDE 1104 ! 1105 IMPLICIT NONE 1106 !/ 1107 !/ ------------------------------------------------------------------- / 1108 !/ Parameter list 1109 !/ 1110 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST, IBLOCK 1111 !/ 1112 !/ ------------------------------------------------------------------- / 1113 !/ Local parameters 1114 !/ 1115 INTEGER :: JGRID 1116 !/ 1117 ! 1118 ! -------------------------------------------------------------------- / 1119 ! 1. Test input and module status 1120 ! 1121 IF ( NGRIDS .EQ. -1 ) THEN 1122 WRITE (NDSE,1001) 1123 CALL EXTCDE (1) 1124 END IF 1125 ! 1126 IF ( IMOD.LT.1 .OR. IMOD.GT.NOUTP ) THEN 1127 WRITE (NDSE,1002) IMOD, NOUTP 1128 CALL EXTCDE (2) 1129 END IF 1130 ! 1131 ! -------------------------------------------------------------------- / 1132 ! 2. Allocate arrays and reset pointers 1133 ! 1134 SELECT CASE (IBLOCK) 1135 ! 1136 CASE (1) 1137 ! 1138 ALLOCATE ( OUTPTS(IMOD)%OUT5%IPBPI(NBI,4), & 1139 OUTPTS(IMOD)%OUT5%ISBPI(NBI) , & 1140 OUTPTS(IMOD)%OUT5%XBPI(NBI) , & 1141 OUTPTS(IMOD)%OUT5%YBPI(NBI) , & 1142 OUTPTS(IMOD)%OUT5%RDBPI(NBI,4) ) 1143 ! 1144 IPBPI => OUTPTS(IMOD)%OUT5%IPBPI 1145 ISBPI => OUTPTS(IMOD)%OUT5%ISBPI 1146 XBPI => OUTPTS(IMOD)%OUT5%XBPI 1147 YBPI => OUTPTS(IMOD)%OUT5%YBPI 1148 RDBPI => OUTPTS(IMOD)%OUT5%RDBPI 1149 ! Page 27 Source Listing W3DMO5 2014-09-16 16:50 w3odatmd.f90 1150 OUTPTS(IMOD)%OUT5%O5INI1 = .TRUE. 1151 ! 1152 CASE (2) 1153 ! 1154 ALLOCATE ( OUTPTS(IMOD)%OUT5%IPBPO(NBO(NFBPO),4), & 1155 OUTPTS(IMOD)%OUT5%ISBPO(4*NBO(NFBPO)), & 1156 OUTPTS(IMOD)%OUT5%XBPO(NBO(NFBPO)) , & 1157 OUTPTS(IMOD)%OUT5%YBPO(NBO(NFBPO)) , & 1158 OUTPTS(IMOD)%OUT5%RDBPO(NBO(NFBPO),4) ) 1159 ! 1160 IPBPO => OUTPTS(IMOD)%OUT5%IPBPO 1161 ISBPO => OUTPTS(IMOD)%OUT5%ISBPO 1162 XBPO => OUTPTS(IMOD)%OUT5%XBPO 1163 YBPO => OUTPTS(IMOD)%OUT5%YBPO 1164 RDBPO => OUTPTS(IMOD)%OUT5%RDBPO 1165 ! 1166 OUTPTS(IMOD)%OUT5%O5INI2 = .TRUE. 1167 ! 1168 CASE (3) 1169 ! 1170 ALLOCATE ( OUTPTS(IMOD)%OUT5%ABPI0(NSPEC,0:NBI2), & 1171 OUTPTS(IMOD)%OUT5%ABPIN(NSPEC,0:NBI2), & 1172 OUTPTS(IMOD)%OUT5%BBPI0(NSPEC,0:NBI), & 1173 OUTPTS(IMOD)%OUT5%BBPIN(NSPEC,0:NBI) ) 1174 ! 1175 ABPI0 => OUTPTS(IMOD)%OUT5%ABPI0 1176 ABPIN => OUTPTS(IMOD)%OUT5%ABPIN 1177 BBPI0 => OUTPTS(IMOD)%OUT5%BBPI0 1178 BBPIN => OUTPTS(IMOD)%OUT5%BBPIN 1179 BBPI0 = -1. 1180 ! 1181 OUTPTS(IMOD)%OUT5%O5INI3 = .TRUE. 1182 ! 1183 CASE (4) 1184 ! 1185 ALLOCATE ( OUTPTS(IMOD)%OUT5%ABPOS(NSPEC,0:NBO2(NFBPO)) ) 1186 ! 1187 ABPOS => OUTPTS(IMOD)%OUT5%ABPOS 1188 ! 1189 OUTPTS(IMOD)%OUT5%O5INI4 = .TRUE. 1190 ! 1191 CASE DEFAULT 1192 WRITE (NDSE,1010) 1193 CALL EXTCDE (10) 1194 ! 1195 END SELECT 1196 ! 1197 ! -------------------------------------------------------------------- / 1198 ! 1199 RETURN 1200 ! 1201 ! Formats 1202 ! 1203 1001 FORMAT (/' *** ERROR W3DMO5 : GRIDS NOT INITIALIZED *** '/ & 1204 ' RUN W3NMOD FIRST '/) 1205 1002 FORMAT (/' *** ERROR W3DMO5 : ILLEGAL MODEL NUMBER *** '/ & 1206 ' IMOD = ',I10/ & Page 28 Source Listing W3DMO5 2014-09-16 16:50 w3odatmd.f90 1207 ' NOUTP = ',I10/) 1208 1010 FORMAT (/' *** ERROR W3DMO5 : ILLEGAL BLOCK NUMBER *** '/ & 1209 ' IBLOCK = ',I10/) 1210 ! 1211 !/ 1212 !/ End of W3DMO5 ----------------------------------------------------- / 1213 !/ 1214 END SUBROUTINE W3DMO5 ENTRY POINTS Name w3odatmd_mp_w3dmo5_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 1203 1122 1002 Label 1205 1127 1010 Label 1208 1192 ABPI0 Local 1170 R(4) 4 2 1 PTR 1170,1175,1426 ABPI0 Local 1175 R(4) 4 2 1 PTR 1175,1426 ABPIN Local 1171 R(4) 4 2 1 PTR 1171,1176,1427 ABPIN Local 1176 R(4) 4 2 1 PTR 1176,1427 ABPOS Local 1185 R(4) 4 2 1 PTR 1185,1187,1433 ABPOS Local 1187 R(4) 4 2 1 PTR 1187,1433 BBPI0 Local 1172 R(4) 4 2 1 PTR 1172,1177,1428 BBPI0 Local 1177 R(4) 4 2 1 PTR 1177,1179,1428 BBPIN Local 1173 R(4) 4 2 1 PTR 1173,1178,1429 BBPIN Local 1178 R(4) 4 2 1 PTR 1178,1429 EXTCDE Subr 1103 1103,1123,1128,1193 IBLOCK Dummy 1037 I(4) 4 scalar ARG,IN 1134 IGRID Local 1102 I(4) 4 scalar 1102 IMOD Dummy 1037 I(4) 4 scalar ARG,IN 1126,1127,1138,1139,1140,1141,1142 ,1144,1145,1146,1147,1148,1150,115 4,1155,1156,1157,1158,1160,1161,11 62,1163,1164,1166,1170,1171,1172,1 173,1175,1176,1177,1178,1181,1185, 1187,1189 IPBPI Local 1138 I(4) 4 2 1 PTR 1138,1144,1410 IPBPI Local 1144 I(4) 4 2 1 PTR 1144,1410 IPBPO Local 1154 I(4) 4 2 1 PTR 1154,1160,1418 IPBPO Local 1160 I(4) 4 2 1 PTR 1160,1418 ISBPI Local 1139 I(4) 4 1 1 PTR 1139,1145,1411 ISBPI Local 1145 I(4) 4 1 1 PTR 1145,1411 ISBPO Local 1155 I(4) 4 1 1 PTR 1155,1161,1419 ISBPO Local 1161 I(4) 4 1 1 PTR 1161,1419 JGRID Local 1115 I(4) 4 scalar NBI Local 1138 I(4) 4 scalar PTR 1138,1139,1140,1141,1142,1172,1173 ,1387 NBI2 Local 1170 I(4) 4 scalar PTR 1170,1171,1388 NBO Local 1154 I(4) 4 1 1 PTR 1154,1155,1156,1157,1158,1390 NBO2 Local 1185 I(4) 4 1 1 PTR 1185,1391 Page 29 Source Listing W3DMO5 2014-09-16 16:50 Symbol Table w3odatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References NDSE Dummy 1037 I(4) 4 scalar ARG,IN 1122,1127,1192 NDST Dummy 1037 I(4) 4 scalar ARG,IN NFBPO Local 1154 I(4) 4 scalar PTR 1154,1155,1156,1157,1158,1185,1389 NGRIDS Local 1102 I(4) 4 scalar 1102,1121 NSPEC Local 1102 I(4) 4 scalar PTR 1102,1170,1171,1172,1173,1185 NX Local 1102 I(4) 4 scalar PTR 1102 NY Local 1102 I(4) 4 scalar PTR 1102 RDBPI Local 1142 R(4) 4 2 1 PTR 1142,1148,1414 RDBPI Local 1148 R(4) 4 2 1 PTR 1148,1414 RDBPO Local 1158 R(4) 4 2 1 PTR 1158,1164,1422 RDBPO Local 1164 R(4) 4 2 1 PTR 1164,1422 W3DMO5 Subr 1037 W3GDATMD Module 1102 1102 W3SERVMD Module 1103 1103 W3SETG Subr 1102 1102 XBPI Local 1140 R(4) 4 1 1 PTR 1140,1146,1412 XBPI Local 1146 R(4) 4 1 1 PTR 1146,1412 XBPO Local 1156 R(4) 4 1 1 PTR 1156,1162,1420 XBPO Local 1162 R(4) 4 1 1 PTR 1162,1420 YBPI Local 1141 R(4) 4 1 1 PTR 1141,1147,1413 YBPI Local 1147 R(4) 4 1 1 PTR 1147,1413 YBPO Local 1157 R(4) 4 1 1 PTR 1157,1163,1421 YBPO Local 1163 R(4) 4 1 1 PTR 1163,1421 Page 30 Source Listing W3DMO5 2014-09-16 16:50 w3odatmd.f90 1215 !/ ------------------------------------------------------------------- / 1216 SUBROUTINE W3SETO ( IMOD, NDSERR, NDSTST ) 1217 !/ 1218 !/ +-----------------------------------+ 1219 !/ | WAVEWATCH III NOAA/NCEP | 1220 !/ | H. L. Tolman | 1221 !/ | FORTRAN 90 | 1222 !/ | Last update : 19-Dec-2012 | 1223 !/ +-----------------------------------+ 1224 !/ 1225 !/ 13-Dec-2004 : Origination. ( version 3.06 ) 1226 !/ 06-Sep-2005 : Second storage for input bound. sp. ( version 3.08 ) 1227 !/ 24-Jul-2006 : Adding unified point output storage.( version 3.10 ) 1228 !/ 25-Jul-2006 : Originating grid ID for points. ( version 3.10 ) 1229 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 1230 !/ 30-Oct-2006 : Add pars for partitioning. ( version 3.10 ) 1231 !/ 26-Mar-2007 : Add pars for partitioning. ( version 3.11 ) 1232 !/ 17-May-2007 : Adding NTPROC/NAPROC separation. ( version 3.11 ) 1233 !/ 27-Jul-2010 : Add NKI, NTHI, XFRI, FR1I, TH1I. ( version 3.14.3 ) 1234 !/ 19-Dec-2012 : Move NOSWLL to data structure. ( version 4.11 ) 1235 !/ 1236 ! 1. Purpose : 1237 ! 1238 ! Select one of the WAVEWATCH III grids / models. 1239 ! 1240 ! 2. Method : 1241 ! 1242 ! Point pointers to the proper variables in the proper element of 1243 ! the GRIDS array. 1244 ! 1245 ! 3. Parameters : 1246 ! 1247 ! Parameter list 1248 ! ---------------------------------------------------------------- 1249 ! IMOD Int. I Model number to point to. 1250 ! NDSERR Int. I Error output unit number. 1251 ! NDSTST Int. I Test output unit number. 1252 ! ---------------------------------------------------------------- 1253 ! 1254 ! 4. Subroutines used : 1255 ! 1256 ! See module documentation below. 1257 ! 1258 ! 5. Called by : 1259 ! 1260 ! Many subroutines in the WAVEWATCH system. 1261 ! 1262 ! 6. Error messages : 1263 ! 1264 ! Checks on parameter list IMOD. 1265 ! 1266 ! 7. Remarks : 1267 ! 1268 ! 8. Structure : 1269 ! 1270 ! 9. Switches : 1271 ! Page 31 Source Listing W3SETO 2014-09-16 16:50 w3odatmd.f90 1272 ! !/MPI MPI specific calls. 1273 ! !/S Enable subroutine tracing. 1274 ! !/T Enable test output 1275 ! 1276 ! 10. Source code : 1277 ! 1278 !/ ------------------------------------------------------------------- / 1279 USE W3GDATMD, ONLY: NAUXGR 1280 USE W3SERVMD, ONLY: EXTCDE 1281 ! 1282 IMPLICIT NONE 1283 ! 1284 !/ 1285 !/ ------------------------------------------------------------------- / 1286 !/ Parameter list 1287 !/ 1288 INTEGER, INTENT(IN) :: IMOD, NDSERR, NDSTST 1289 !/ 1290 !/ ------------------------------------------------------------------- / 1291 !/ Local parameters 1292 !/ 1293 INTEGER :: NLOW 1294 !/ 1295 ! 1296 ! -------------------------------------------------------------------- / 1297 ! 1. Test input and module status 1298 ! 1299 IF ( NOUTP .EQ. -1 ) THEN 1300 WRITE (NDSERR,1001) 1301 CALL EXTCDE (1) 1302 END IF 1303 ! 1304 NLOW = MIN ( 0 , -NAUXGR ) 1305 IF ( IMOD.LT.NLOW .OR. IMOD.GT.NOUTP ) THEN 1306 WRITE (NDSERR,1002) IMOD, NLOW, NOUTP 1307 CALL EXTCDE (2) 1308 END IF 1309 ! 1310 ! -------------------------------------------------------------------- / 1311 ! 2. Set model number 1312 ! 1313 IOUTP = IMOD 1314 ! 1315 ! -------------------------------------------------------------------- / 1316 ! 3. Set pointers in structure OUTPUT 1317 ! 1318 NDSO => OUTPTS(IMOD)%NDSO 1319 NDSE => OUTPTS(IMOD)%NDSE 1320 NDST => OUTPTS(IMOD)%NDST 1321 SCREEN => OUTPTS(IMOD)%SCREEN 1322 ! 1323 NTPROC => OUTPTS(IMOD)%NTPROC 1324 NAPROC => OUTPTS(IMOD)%NAPROC 1325 IAPROC => OUTPTS(IMOD)%IAPROC 1326 NAPLOG => OUTPTS(IMOD)%NAPLOG 1327 NAPOUT => OUTPTS(IMOD)%NAPOUT 1328 NAPERR => OUTPTS(IMOD)%NAPERR Page 32 Source Listing W3SETO 2014-09-16 16:50 w3odatmd.f90 1329 NAPFLD => OUTPTS(IMOD)%NAPFLD 1330 NAPPNT => OUTPTS(IMOD)%NAPPNT 1331 NAPTRK => OUTPTS(IMOD)%NAPTRK 1332 NAPRST => OUTPTS(IMOD)%NAPRST 1333 NAPBPT => OUTPTS(IMOD)%NAPBPT 1334 NAPPRT => OUTPTS(IMOD)%NAPPRT 1335 ! 1336 NOSWLL => OUTPTS(IMOD)%NOSWLL 1337 ! 1338 TOFRST => OUTPTS(IMOD)%TOFRST 1339 TONEXT => OUTPTS(IMOD)%TONEXT 1340 TOLAST => OUTPTS(IMOD)%TOLAST 1341 TBPI0 => OUTPTS(IMOD)%TBPI0 1342 TBPIN => OUTPTS(IMOD)%TBPIN 1343 NDS => OUTPTS(IMOD)%NDS 1344 ! 1345 DTOUT => OUTPTS(IMOD)%DTOUT 1346 FLOUT => OUTPTS(IMOD)%FLOUT 1347 ! 1348 IPASS1 => OUTPTS(IMOD)%OUT1%IPASS1 1349 WRITE1 => OUTPTS(IMOD)%OUT1%WRITE1 1350 FLOGRD => OUTPTS(IMOD)%OUT1%FLOGRD 1351 FLOGR2 => OUTPTS(IMOD)%OUT1%FLOGR2 1352 FLOG => OUTPTS(IMOD)%OUT1%FLOG 1353 ! 1354 IPASS2 => OUTPTS(IMOD)%OUT2%IPASS2 1355 NOPTS => OUTPTS(IMOD)%OUT2%NOPTS 1356 O2INIT => OUTPTS(IMOD)%OUT2%O2INIT 1357 ! 1358 IF ( O2INIT ) THEN 1359 IPTINT => OUTPTS(IMOD)%OUT2%IPTINT 1360 IL => OUTPTS(IMOD)%OUT2%IL 1361 IW => OUTPTS(IMOD)%OUT2%IW 1362 II => OUTPTS(IMOD)%OUT2%II 1363 PTLOC => OUTPTS(IMOD)%OUT2%PTLOC 1364 PTIFAC => OUTPTS(IMOD)%OUT2%PTIFAC 1365 DPO => OUTPTS(IMOD)%OUT2%DPO 1366 WAO => OUTPTS(IMOD)%OUT2%WAO 1367 WDO => OUTPTS(IMOD)%OUT2%WDO 1368 ASO => OUTPTS(IMOD)%OUT2%ASO 1369 CAO => OUTPTS(IMOD)%OUT2%CAO 1370 CDO => OUTPTS(IMOD)%OUT2%CDO 1371 SPCO => OUTPTS(IMOD)%OUT2%SPCO 1372 PTNME => OUTPTS(IMOD)%OUT2%PTNME 1373 GRDID => OUTPTS(IMOD)%OUT2%GRDID 1374 END IF 1375 ! 1376 IPASS3 => OUTPTS(IMOD)%OUT3%IPASS3 1377 O3INIT => OUTPTS(IMOD)%OUT3%O3INIT 1378 STOP => OUTPTS(IMOD)%OUT3%STOP 1379 ! 1380 IF ( O3INIT ) THEN 1381 MASK1 => OUTPTS(IMOD)%OUT3%MASK1 1382 MASK2 => OUTPTS(IMOD)%OUT3%MASK2 1383 END IF 1384 ! 1385 IFILE4 => OUTPTS(IMOD)%OUT4%IFILE4 Page 33 Source Listing W3SETO 2014-09-16 16:50 w3odatmd.f90 1386 ! 1387 NBI => OUTPTS(IMOD)%OUT5%NBI 1388 NBI2 => OUTPTS(IMOD)%OUT5%NBI2 1389 NFBPO => OUTPTS(IMOD)%OUT5%NFBPO 1390 NBO => OUTPTS(IMOD)%OUT5%NBO 1391 NBO2 => OUTPTS(IMOD)%OUT5%NBO2 1392 NDSL => OUTPTS(IMOD)%OUT5%NDSL 1393 NKI => OUTPTS(IMOD)%OUT5%NKI 1394 NTHI => OUTPTS(IMOD)%OUT5%NTHI 1395 XFRI => OUTPTS(IMOD)%OUT5%XFRI 1396 FR1I => OUTPTS(IMOD)%OUT5%FR1I 1397 TH1I => OUTPTS(IMOD)%OUT5%TH1I 1398 FLBPI => OUTPTS(IMOD)%OUT5%FLBPI 1399 FLBPO => OUTPTS(IMOD)%OUT5%FLBPO 1400 FILER => OUTPTS(IMOD)%OUT5%FILER 1401 FILEW => OUTPTS(IMOD)%OUT5%FILEW 1402 FILED => OUTPTS(IMOD)%OUT5%FILED 1403 SPCONV => OUTPTS(IMOD)%OUT5%SPCONV 1404 O5INI1 => OUTPTS(IMOD)%OUT5%O5INI1 1405 O5INI2 => OUTPTS(IMOD)%OUT5%O5INI2 1406 O5INI3 => OUTPTS(IMOD)%OUT5%O5INI3 1407 O5INI4 => OUTPTS(IMOD)%OUT5%O5INI4 1408 ! 1409 IF ( O5INI1 ) THEN 1410 IPBPI => OUTPTS(IMOD)%OUT5%IPBPI 1411 ISBPI => OUTPTS(IMOD)%OUT5%ISBPI 1412 XBPI => OUTPTS(IMOD)%OUT5%XBPI 1413 YBPI => OUTPTS(IMOD)%OUT5%YBPI 1414 RDBPI => OUTPTS(IMOD)%OUT5%RDBPI 1415 END IF 1416 ! 1417 IF ( O5INI2 ) THEN 1418 IPBPO => OUTPTS(IMOD)%OUT5%IPBPO 1419 ISBPO => OUTPTS(IMOD)%OUT5%ISBPO 1420 XBPO => OUTPTS(IMOD)%OUT5%XBPO 1421 YBPO => OUTPTS(IMOD)%OUT5%YBPO 1422 RDBPO => OUTPTS(IMOD)%OUT5%RDBPO 1423 END IF 1424 ! 1425 IF ( O5INI3 ) THEN 1426 ABPI0 => OUTPTS(IMOD)%OUT5%ABPI0 1427 ABPIN => OUTPTS(IMOD)%OUT5%ABPIN 1428 BBPI0 => OUTPTS(IMOD)%OUT5%BBPI0 1429 BBPIN => OUTPTS(IMOD)%OUT5%BBPIN 1430 END IF 1431 ! 1432 IF ( O5INI4 ) THEN 1433 ABPOS => OUTPTS(IMOD)%OUT5%ABPOS 1434 END IF 1435 ! 1436 IPASS6 => OUTPTS(IMOD)%OUT6%IPASS6 1437 IHMAX => OUTPTS(IMOD)%OUT6%IHMAX 1438 HSPMIN => OUTPTS(IMOD)%OUT6%HSPMIN 1439 WSMULT => OUTPTS(IMOD)%OUT6%WSMULT 1440 WSCUT => OUTPTS(IMOD)%OUT6%WSCUT 1441 IX0 => OUTPTS(IMOD)%OUT6%IX0 1442 IXN => OUTPTS(IMOD)%OUT6%IXN Page 34 Source Listing W3SETO 2014-09-16 16:50 w3odatmd.f90 1443 IXS => OUTPTS(IMOD)%OUT6%IXS 1444 IY0 => OUTPTS(IMOD)%OUT6%IY0 1445 IYN => OUTPTS(IMOD)%OUT6%IYN 1446 IYS => OUTPTS(IMOD)%OUT6%IYS 1447 ICPRT => OUTPTS(IMOD)%OUT6%ICPRT 1448 DTPRT => OUTPTS(IMOD)%OUT6%DTPRT 1449 FLCOMB => OUTPTS(IMOD)%OUT6%FLCOMB 1450 FLFORM => OUTPTS(IMOD)%OUT6%FLFORM 1451 O6INIT => OUTPTS(IMOD)%OUT6%O6INIT 1452 ! 1453 RETURN 1454 ! 1455 ! Formats 1456 ! 1457 1001 FORMAT (/' *** ERROR W3SETO : GRIDS NOT INITIALIZED *** '/ & 1458 ' RUN W3NMOD FIRST '/) 1459 1002 FORMAT (/' *** ERROR W3SETO : ILLEGAL MODEL NUMBER *** '/ & 1460 ' IMOD = ',I10/ & 1461 ' NLOW = ',I10/ & 1462 ' NOUTP = ',I10/) 1463 ! 1464 !/ 1465 !/ End of W3SETO ----------------------------------------------------- / 1466 !/ 1467 END SUBROUTINE W3SETO ENTRY POINTS Name w3odatmd_mp_w3seto_ Page 35 Source Listing W3SETO 2014-09-16 16:50 Symbol Table w3odatmd.f90 SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 1457 1300 1002 Label 1459 1306 ASO Local 1368 R(4) 4 1 1 PTR 1368 CAO Local 1369 R(4) 4 1 1 PTR 1369 CDO Local 1370 R(4) 4 1 1 PTR 1370 DPO Local 1365 R(4) 4 1 1 PTR 1365 DTOUT Local 1345 R(4) 4 1 1 PTR 1345 DTOUT Local 1345 R(4) 4 1 7 1345 DTPRT Local 1448 R(4) 4 2 1 PTR 1448 EXTCDE Subr 1280 1280,1301,1307 FILED Local 1402 L(4) 4 scalar PTR 1402 FILER Local 1400 L(4) 4 scalar PTR 1400 FILEW Local 1401 L(4) 4 scalar PTR 1401 FLBPI Local 1398 L(4) 4 scalar PTR,TGT 1398 FLBPO Local 1399 L(4) 4 scalar PTR,TGT 1399 FLCOMB Local 1449 L(4) 4 scalar PTR,TGT 1449 FLFORM Local 1450 L(4) 4 scalar PTR,TGT 1450 FLOG Local 1352 L(4) 4 1 1 PTR 1352 FLOG Local 1352 L(4) 4 1 10 1352 FLOGR2 Local 1351 L(4) 4 2 1 PTR 1351 FLOGR2 Local 1351 L(4) 4 2 200 1351 FLOGRD Local 1350 L(4) 4 2 1 PTR 1350 FLOGRD Local 1350 L(4) 4 2 200 1350 FLOUT Local 1346 L(4) 4 1 1 PTR 1346 FLOUT Local 1346 L(4) 4 1 7 1346 FR1I Local 1396 R(4) 4 scalar PTR,TGT 1396 GRDID Local 1373 CHAR 10 1 1 PTR 1373 HSPMIN Local 1438 R(4) 4 scalar PTR,TGT 1438 IAPROC Local 1325 I(4) 4 scalar PTR 1325 ICPRT Local 1447 I(4) 4 2 1 PTR 1447 IFILE4 Local 1385 I(4) 4 scalar PTR 1385 IHMAX Local 1437 I(4) 4 scalar PTR,TGT 1437 II Local 1362 I(4) 4 1 1 PTR 1362 IL Local 1360 I(4) 4 1 1 PTR 1360 IMOD Dummy 1216 I(4) 4 scalar ARG,IN 1305,1306,1313,1318,1319,1320,1321 ,1323,1324,1325,1326,1327,1328,132 9,1330,1331,1332,1333,1334,1336,13 38,1339,1340,1341,1342,1343,1345,1 346,1348,1349,1350,1351,1352,1354, 1355,1356,1359,1360,1361,1362,1363 ,1364,1365,1366,1367,1368,1369,137 0,1371,1372,1373,1376,1377,1378,13 81,1382,1385,1387,1388,1389,1390,1 391,1392,1393,1394,1395,1396,1397, 1398,1399,1400,1401,1402,1403,1404 ,1405,1406,1407,1410,1411,1412,141 3,1414,1418,1419,1420,1421,1422,14 26,1427,1428,1429,1433,1436,1437,1 438,1439,1440,1441,1442,1443,1444, 1445,1446,1447,1448,1449,1450,1451 IOUTP Local 1313 I(4) 4 scalar 286,1313 Page 36 Source Listing W3SETO 2014-09-16 16:50 Symbol Table w3odatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References IPASS1 Local 1348 I(4) 4 scalar PTR 1348 IPASS2 Local 1354 I(4) 4 scalar PTR 1354 IPASS3 Local 1376 I(4) 4 scalar PTR 1376 IPASS6 Local 1436 I(4) 4 scalar PTR 1436 IPTINT Local 1359 I(4) 4 3 1 PTR 1359 IW Local 1361 I(4) 4 1 1 PTR 1361 IX0 Local 1441 I(4) 4 scalar PTR,TGT 1441 IXN Local 1442 I(4) 4 scalar PTR,TGT 1442 IXS Local 1443 I(4) 4 scalar PTR,TGT 1443 IY0 Local 1444 I(4) 4 scalar PTR,TGT 1444 IYN Local 1445 I(4) 4 scalar PTR,TGT 1445 IYS Local 1446 I(4) 4 scalar PTR,TGT 1446 MASK1 Local 1381 L(4) 4 2 1 PTR 1381 MASK2 Local 1382 L(4) 4 2 1 PTR 1382 MIN Func 1304 scalar 1304 NAPBPT Local 1333 I(4) 4 scalar PTR 1333 NAPERR Local 1328 I(4) 4 scalar PTR 1328 NAPFLD Local 1329 I(4) 4 scalar PTR 1329 NAPLOG Local 1326 I(4) 4 scalar PTR 1326 NAPOUT Local 1327 I(4) 4 scalar PTR 1327 NAPPNT Local 1330 I(4) 4 scalar PTR 1330 NAPPRT Local 1334 I(4) 4 scalar PTR 1334 NAPROC Local 1324 I(4) 4 scalar PTR 1324 NAPRST Local 1332 I(4) 4 scalar PTR 1332 NAPTRK Local 1331 I(4) 4 scalar PTR 1331 NAUXGR Local 1279 I(4) 4 scalar 1279,1304 NBI Local 1387 I(4) 4 scalar TGT 1387 NBI2 Local 1388 I(4) 4 scalar TGT 1388 NBO Local 1390 I(4) 4 1 10 1390 NBO2 Local 1391 I(4) 4 1 10 1391 NDS Local 1343 I(4) 4 1 1 PTR 1343 NDS Local 1343 I(4) 4 1 13 1343 NDSE Local 1319 I(4) 4 scalar PTR 1319 NDSERR Dummy 1216 I(4) 4 scalar ARG,IN 1300,1306 NDSL Local 1392 I(4) 4 1 1 PTR 1392 NDSL Local 1392 I(4) 4 1 9 1392 NDSO Local 1318 I(4) 4 scalar PTR 1318 NDST Local 1320 I(4) 4 scalar PTR 1320 NDSTST Dummy 1216 I(4) 4 scalar ARG,IN NFBPO Local 1389 I(4) 4 scalar TGT 1389 NKI Local 1393 I(4) 4 scalar PTR,TGT 1393 NLOW Local 1293 I(4) 4 scalar 1304,1305,1306 NOSWLL Local 1336 I(4) 4 scalar PTR 1336 NTHI Local 1394 I(4) 4 scalar PTR,TGT 1394 NTPROC Local 1323 I(4) 4 scalar PTR 1323 O2INIT Local 1356 L(4) 4 scalar PTR 1356,1358 O3INIT Local 1377 L(4) 4 scalar PTR 1377,1380 O5INI1 Local 1404 L(4) 4 scalar PTR 1404,1409 O5INI2 Local 1405 L(4) 4 scalar PTR 1405,1417 O5INI3 Local 1406 L(4) 4 scalar PTR 1406,1425 O5INI4 Local 1407 L(4) 4 scalar PTR 1407,1432 O6INIT Local 1451 L(4) 4 scalar PTR 1451 PTIFAC Local 1364 R(4) 4 2 1 PTR 1364 PTLOC Local 1363 R(4) 4 2 1 PTR 1363 PTNME Local 1372 CHAR 10 1 1 PTR 1372 Page 37 Source Listing W3SETO 2014-09-16 16:50 Symbol Table w3odatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References SCREEN Local 1321 I(4) 4 scalar PTR 1321 SPCO Local 1371 R(4) 4 2 1 PTR 1371 SPCONV Local 1403 L(4) 4 scalar PTR,TGT 1403 STOP Local 1378 L(4) 4 scalar PTR 1378 TBPI0 Local 1341 I(4) 4 1 1 PTR 1341 TBPIN Local 1342 I(4) 4 1 1 PTR 1342 TH1I Local 1397 R(4) 4 scalar PTR,TGT 1397 TOFRST Local 1338 I(4) 4 1 1 PTR 1338 TOFRST Local 1338 I(4) 4 1 2 1338 TOLAST Local 1340 I(4) 4 2 1 PTR 1340 TOLAST Local 1340 I(4) 4 2 14 1340 TONEXT Local 1339 I(4) 4 2 1 PTR 1339 TONEXT Local 1339 I(4) 4 2 14 1339 W3GDATMD Module 1279 1279 W3SERVMD Module 1280 1280 W3SETO Subr 1216 868,1011 WAO Local 1366 R(4) 4 1 1 PTR 1366 WDO Local 1367 R(4) 4 1 1 PTR 1367 WRITE1 Local 1349 L(4) 4 scalar PTR,TGT 1349 WSCUT Local 1440 R(4) 4 scalar PTR,TGT 1440 WSMULT Local 1439 R(4) 4 scalar PTR,TGT 1439 XFRI Local 1395 R(4) 4 scalar PTR,TGT 1395 Page 38 Source Listing W3SETO 2014-09-16 16:50 w3odatmd.f90 1468 !/ 1469 !/ End of module W3ODATMD -------------------------------------------- / 1470 !/ 1471 END MODULE W3ODATMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References FNMPRE Local 294 CHAR 80 scalar 294 IOSTYP Local 286 I(4) 4 scalar 286 NOTYPE Local 291 I(4) 4 scalar OTYPE1 Type 302 1648 scalar 306,362 OTYPE2 Type 308 1216 scalar 316,363 OTYPE3 Type 318 208 scalar 322,364 OTYPE4 Type 324 4 scalar 326,365 OTYPE5 Type 328 1488 scalar 341,366 OTYPE6 Type 343 256 scalar 350,367 OUTPUT Type 352 5136 scalar 368,372 UNDEF Local 295 R(4) 4 scalar 295 UNIPTS Local 296 L(4) 4 scalar 296 UPPROC Local 296 L(4) 4 scalar 296 W3ODATMD Module 2 Page 39 Source Listing W3SETO 2014-09-16 16:50 Subprograms/Common Blocks w3odatmd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References W3DMO2 Subr 737 W3DMO3 Subr 897 W3DMO5 Subr 1037 W3NOUT Subr 437 W3ODATMD Module 2 W3SETO Subr 1216 868,1011 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores -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 __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __SSE__ -D __MMX__ -D __AVX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 Page 40 Source Listing W3SETO 2014-09-16 16:50 w3odatmd.f90 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 -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/,.f,./.f,/usrx/local/intel/composerxe/mkl/include/.f, /usrx/local/intel/composerxe/tbb/include/.f,/gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/.f, /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/.f,/usr/local/include/.f,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/.f, /usr/include/.f,/usr/include/.f -list filename : w3odatmd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100