Page 1 Source Listing W3FLGRDUPDT 2014-09-16 16:52 w3iogomd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3IOGOMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 11-Nov-2013 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ 04-Jan-2001 : Origination. ( version 2.00 ) 12 !/ 23-Apr-2002 : Clean up. ( version 2.19 ) 13 !/ 29-Apr-2002 : Add output parameters 17-18. ( version 2.20 ) 14 !/ 30-May-2002 : Switch clean up. ( version 2.21 ) 15 !/ 13-Nov-2002 : Add stress vector. ( version 3.00 ) 16 !/ 25-Oct-2004 : Multiple grid version. ( version 3.06 ) 17 !/ 27-Jun-2005 : Adding MAPST2. ( version 3.07 ) 18 !/ 21-Jul-2005 : Adding output fields 19-21. ( version 3.07 ) 19 !/ 23-Apr-2006 : Filter for directional spread. ( version 3.09 ) 20 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 21 !/ 05-Jul-2006 : Consolidate stress arrays. ( version 3.09 ) 22 !/ 02-Apr-2007 : Adding partitioned output. ( version 3.11 ) 23 !/ Adding user slots for outputs. 24 !/ 08-Oct-2007 : Adding ST3 source term option. ( version 3.13 ) 25 !/ ( F. Ardhuin ) 26 !/ 05-Mar-2008 : Added NEC sxf90 compiler directives 27 !/ (Chris Bunney, UK Met Office) ( version 3.13 ) 28 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 29 !/ 13-Sep-2009 : Add coupling option ( version 3.14 ) 30 !/ 10-Mar-2009 : Add second order pressure ( version 3.14 ) 31 !/ 15-Sep-2010 : Adding ST4 source term option. ( version 3.14 ) 32 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 33 !/ (W. E. Rogers & T. J. Campbell, NRL) 34 !/ 05-Feb-2011 : Implement unstructured grid ( version 3.14.3 ) 35 !/ (A. Roland and F. Ardhuin) 36 !/ 12-Jun-2012 : Add /RTD option or rotated grid option. 37 !/ (Jian-Guo Li) ( version 4.06 ) 38 !/ 25-Dec-2012 : New output structure and smaller ( version 4.11 ) 39 !/ memory footprint. 40 !/ 15-Apr-2013 : New subroutine to read param. names ( version 4.11 ) 41 !/ 21-Aug-2013 : Bug correction in W3IOGO: UBR, ABR ( version 4.11 ) 42 !/ 11-Nov-2013 : SMC and rotated grid incorporated in the main 43 !/ trunk ( version 4.13 ) 44 !/ 45 !/ Copyright 2009-2012 National Weather Service (NWS), 46 !/ National Oceanic and Atmospheric Administration. All rights 47 !/ reserved. WAVEWATCH III is a trademark of the NWS. 48 !/ No unauthorized use without permission. 49 !/ 50 ! 1. Purpose : 51 ! 52 ! Gridded output of mean wave parameters. 53 ! 54 ! 2. Variables and types : 55 ! 56 ! Name Type Scope Description 57 ! ---------------------------------------------------------------- Page 2 Source Listing W3FLGRDUPDT 2014-09-16 16:52 w3iogomd.f90 58 ! VEROGR C*10 Private Gridded output file version number. 59 ! IDSTR C*30 Private Gridded output file ID string. 60 ! ---------------------------------------------------------------- 61 ! 62 ! 3. Subroutines and functions : 63 ! 64 ! Name Type Scope Description 65 ! ---------------------------------------------------------------- 66 ! W3OUTG Subr. Public Calculate mean parameters. 67 ! W3IOGO Subr. Public IO to raw gridded fields file. 68 ! ---------------------------------------------------------------- 69 ! 70 ! 4. Subroutines and functions used : 71 ! 72 ! Name Type Module Description 73 ! ---------------------------------------------------------------- 74 ! W3SETO Subr. W3ODATMD Point to data structure. 75 ! W3SETG Subr. W3GDATMD Point to data structure. 76 ! W3SETW Subr. W3WDATMD Point to data structure. 77 ! W3SETA Subr. W3ADATMD Point to data structure. 78 ! W3XETA Subr. W3ADATMD Point to data structure. 79 ! W3DIMW Subr. W3WDATMD Allocate data structure. 80 ! W3DIMA Subr. W3ADATMD Allocate data structure. 81 ! STRACE Subr. W3SERVMD Subroutine tracing. ( !/S ) 82 ! EXTCDE Subr. W3SERVMD Program abort with exit code. 83 ! ---------------------------------------------------------------- 84 ! 85 ! 5. Remarks : 86 ! 87 ! - The different output fields are not folded in with this module 88 ! due to the different requirements for a element '0' in some of 89 ! the fields. 90 ! 91 ! 6. Switches : 92 ! 93 ! !/SHRD Switch for shared / distributed memory architecture. 94 ! !/DIST Id. 95 ! 96 ! !/OMP1 OpenMP compiler directive for loop splitting. 97 ! !/C90 Cray FORTRAN 90 compiler directive. 98 ! !/NEC NEC SXF90 compiler directives. 99 ! 100 ! !/O8 Filter for low wave heights ( HSMIN ) 101 ! !/O9 Negative wave height alowed, other mean parameters will 102 ! not be correct. 103 ! 104 ! !/ST0 No source terms. 105 ! !/ST1 Source term set 1 (WAM equiv.) 106 ! !/ST2 Source term set 2 (Tolman and Chalikov) 107 ! !/ST3 Source term set 3 (WAM 4+) 108 ! !/ST4 Source term set 4 (Ardhuin et al. 2009, 2010) 109 ! !/ST6 Source term set 6 (BYDRZ) 110 ! !/STX Open source term slot (implemented as ST0). 111 ! 112 ! !/S Enable subroutine tracing. 113 ! !/T Test output. 114 ! Page 3 Source Listing W3FLGRDUPDT 2014-09-16 16:52 w3iogomd.f90 115 ! 7. Source code : 116 ! 117 !/ ------------------------------------------------------------------- / 118 !/ 119 PUBLIC 120 !/ 121 !/ Private parameter statements (ID strings) 122 !/ 123 CHARACTER(LEN=10), PARAMETER, PRIVATE :: VEROGR = 'III 3.00 ' 124 CHARACTER(LEN=30), PARAMETER, PRIVATE :: & 125 IDSTR = 'WAVEWATCH III GRID OUTPUT FILE' 126 !/ 127 CONTAINS 128 !/ ------------------------------------------------------------------- / 129 SUBROUTINE W3FLGRDUPDT ( NDSO, NDSEN, FLGRD, FLGR2, FLG ) 130 !/ 131 !/ +-----------------------------------+ 132 !/ | WAVEWATCH III NOAA/NCEP | 133 !/ | F. Ardhuin | 134 !/ | FORTRAN 90 | 135 !/ | Last update : 15-Apr-2013 | 136 !/ +-----------------------------------+ 137 !/ 138 !/ 15-Apr-2013 : Origination. ( version 4.10 ) 139 !/ 140 ! 1. Purpose : 141 ! 142 ! Updates the flags for output parameters based on the mod_def file 143 ! this is to prevent the allocation of big 3D arrays when not requested 144 ! 145 ! 3. Parameters : 146 ! 147 ! Parameter list 148 ! ---------------------------------------------------------------- 149 ! NDSO Int. I Output file logical unit number 150 ! NDSEN R.A. I Error output file logical unit number 151 ! FLG L.A. O 1D array of flags for groups 152 ! FLGRD L.A. O 2D array of flags 153 ! FLGR2 L.A. O 2D array of flags 154 ! ---------------------------------------------------------------- 155 ! 156 ! 4. Subroutines used : 157 ! 158 ! None 159 ! 160 ! 5. Called by : 161 ! 162 ! Name Type Module Description 163 ! ---------------------------------------------------------------- 164 ! W3INIT Subr. N/A 165 ! ---------------------------------------------------------------- 166 ! 167 ! 6. Error messages : 168 ! 169 ! None. 170 ! 171 ! 8. Structure : Page 4 Source Listing W3FLGRDUPDT 2014-09-16 16:52 w3iogomd.f90 172 ! 173 ! See source code. 174 ! 175 ! 9. Switches : 176 ! 177 ! !/S Enable subroutine tracing. 178 ! !/T Test output. 179 ! 180 ! 10. Source code : 181 ! 182 !/ ------------------------------------------------------------------- / 183 USE CONSTANTS 184 USE W3GDATMD, ONLY: E3DF, P2MSF, US3DF 185 USE W3ODATMD, ONLY: NOGRP, NGRPP 186 ! 187 IMPLICIT NONE 188 !/ 189 !/ ------------------------------------------------------------------- / 190 !/ Parameter list 191 !/ 192 INTEGER, INTENT(IN) :: NDSO, NDSEN 193 LOGICAL, INTENT(INOUT) :: FLGRD(NOGRP,NGRPP), FLG(NOGRP), FLGR2(NOGRP,NGRPP) 194 !/ 195 !/ ------------------------------------------------------------------- / 196 !/ Local parameters 197 !/ 198 INTEGER :: I 199 !/ 200 !/ ------------------------------------------------------------------- / 201 !/ 202 ! 203 DO I=1,5 204 IF (E3DF(1,I).LE. 0.OR.E3DF(3,I) .LT.E3DF(2,I)) FLGRD(3,I)=.FALSE. 205 END DO 206 IF (US3DF(1).LE.0.OR.US3DF(3).LT.US3DF(2)) FLGRD(6,8)=.FALSE. 207 IF (P2MSF(1).LE.0.OR.P2MSF(3).LT.P2MSF(2)) FLGRD(6,9)=.FALSE. 208 RETURN 209 ! 210 END SUBROUTINE W3FLGRDUPDT Page 5 Source Listing W3FLGRDUPDT 2014-09-16 16:52 Entry Points w3iogomd.f90 ENTRY POINTS Name w3iogomd_mp_w3flgrdupdt_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References CONSTANTS Module 183 183 E3DF Local 184 I(4) 4 2 1 PTR 184,204 FLG Dummy 129 L(4) 4 1 10 ARG,INOUT FLGR2 Dummy 129 L(4) 4 2 200 ARG,INOUT FLGRD Dummy 129 L(4) 4 2 200 ARG,INOUT 204,206,207 I Local 198 I(4) 4 scalar 203,204 NDSEN Dummy 129 I(4) 4 scalar ARG,IN NDSO Dummy 129 I(4) 4 scalar ARG,IN NGRPP Param 185 I(4) 4 scalar 185,193 NOGRP Param 185 I(4) 4 scalar 185,193 P2MSF Local 184 I(4) 4 1 1 PTR 184,207 US3DF Local 184 I(4) 4 1 1 PTR 184,206 W3FLGRDUPDT Subr 129 W3GDATMD Module 184 184 W3ODATMD Module 185 185 Page 6 Source Listing W3FLGRDUPDT 2014-09-16 16:52 w3iogomd.f90 211 !/ ------------------------------------------------------------------- / 212 SUBROUTINE W3READFLGRD ( NDSI , NDSO, NDSS, NDSEN, COMSTR, & 213 FLG1D, FLG2D, IAPROC, NAPOUT, IERR) 214 !/ 215 !/ +-----------------------------------+ 216 !/ | WAVEWATCH III NOAA/NCEP | 217 !/ | F. Ardhuin | 218 !/ | FORTRAN 90 | 219 !/ | Last update : 15-Apr-2013 | 220 !/ +-----------------------------------+ 221 !/ 222 !/ 15-Apr-2013 : Origination. ( version 4.10 ) 223 !/ 224 ! 1. Purpose : 225 ! 226 ! Fills in FLG2D and FLG2D2 arrays from ASCII input file 227 ! 228 ! 3. Parameters : 229 ! 230 ! Parameter list 231 ! ---------------------------------------------------------------- 232 ! NDSI Int. I Input file logical unit number 233 ! NDSO Int. I Output file logical unit number 234 ! NDSEN R.A. I Error output file logical unit number 235 ! COMSTR Char I Comment string, usually '$' 236 ! FLG L.A. O 1D array of flags for groups 237 ! FLG2D L.A. O 2D array of flags 238 ! IAPROC Int. I index of current processor 239 ! IERR Int. O Error message number 240 ! ---------------------------------------------------------------- 241 ! 242 ! 4. Subroutines used : 243 ! 244 ! None 245 ! 246 ! 5. Called by : 247 ! 248 ! Name Type Module Description 249 ! ---------------------------------------------------------------- 250 ! WW3_SHEL Prog. N/A Actual wave model program 251 ! WW3_OUTF Prog. N/A Ouput postprocessor. 252 ! WW3_OUNF Prog. N/A NetCDF ouput postprocessor. 253 ! ---------------------------------------------------------------- 254 ! 255 ! 6. Error messages : 256 ! 257 ! None. 258 ! 259 ! 8. Structure : 260 ! 261 ! See source code. 262 ! 263 ! 9. Switches : 264 ! 265 ! !/S Enable subroutine tracing. 266 ! !/T Test output. 267 ! Page 7 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 268 ! 10. Source code : 269 ! 270 !/ ------------------------------------------------------------------- / 271 USE CONSTANTS 272 USE W3ODATMD, ONLY: NOGRP, NGRPP, NOGE, IDOUT, NAPERR, FLOG 273 USE W3SERVMD, ONLY: NEXTLN, STRSPLIT, STR_TO_UPPER 274 ! 275 IMPLICIT NONE 276 !/ 277 !/ ------------------------------------------------------------------- / 278 !/ Parameter list 279 !/ 280 INTEGER, INTENT(IN) :: NDSI, NDSO, NDSS, NDSEN, IAPROC, NAPOUT 281 INTEGER, INTENT(OUT) :: IERR 282 CHARACTER(LEN=1) :: COMSTR 283 LOGICAL, INTENT(OUT) :: FLG2D(NOGRP,NGRPP), FLG1D(NOGRP) 284 CHARACTER(LEN=1024) :: OUTFIELDNAMES 285 CHARACTER(LEN=100) :: OUT_NAMES(100), TESTSTR 286 !/ 287 !/ ------------------------------------------------------------------- / 288 !/ Local parameters 289 !/ 290 INTEGER :: I, IFI, IFJ, IOUT 291 CHARACTER(LEN=1) :: AFLG 292 LOGICAL :: FLT, NAMES 293 !/ 294 !/ ------------------------------------------------------------------- / 295 !/ 296 ! 297 ! 1. Initialize flags -------------------------------------- * 298 ! 299 IERR=0 300 FLG2D(:,:)=.FALSE. ! Initialize FLG2D 301 FLG1D(:)=.FALSE. ! Initialize FLOG 302 NAMES =.FALSE. 303 ! 304 DO IFI=1,NOGRP ! Loop over field output groups 305 ! 306 CALL NEXTLN ( COMSTR , NDSI , NDSEN ) 307 READ (NDSI,*,END=2001,ERR=2002) AFLG 308 IF (AFLG.EQ.'T') THEN 309 FLG1D(IFI)=.TRUE. 310 ELSE IF (AFLG.EQ.'F') THEN 311 FLG1D(IFI)=.FALSE. 312 ELSE IF (AFLG.EQ.'N') THEN 313 NAMES=.TRUE. 314 EXIT 315 ELSE 316 IERR=1 317 GOTO 2005 318 END IF 319 IF ( FLG1D (IFI) ) THEN ! Skip if group not requested 320 CALL NEXTLN ( COMSTR , NDSI , NDSEN ) 321 READ (NDSI,'(A)',END=2001,ERR=2006,IOSTAT=IERR) & 322 OUTFIELDNAMES 323 OUT_NAMES(:)='' 324 CALL STRSPLIT(OUTFIELDNAMES,OUT_NAMES) Page 8 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 325 IFJ=0 326 DO WHILE (len_trim(OUT_NAMES(IFJ+1)).NE.0) 327 IFJ=IFJ+1 328 IF ( OUT_NAMES(IFJ) .EQ. 'T' ) & 329 FLG2D(IFI,IFJ)=.TRUE. 330 ENDDO 331 IF (IFJ .LT. NOGE(IFI)) WRITE(NDSEN,1007) IFI 332 ENDIF 333 END DO 334 ! 335 IF (NAMES) THEN 336 ! 337 ! 2. Reads and splits list of output field names 338 ! 339 CALL NEXTLN ( COMSTR , NDSI , NDSEN ) 340 READ (NDSI,'(A)',END=2001,ERR=2003,IOSTAT=IERR) OUTFIELDNAMES 341 OUT_NAMES(:)='' 342 CALL STRSPLIT(OUTFIELDNAMES,OUT_NAMES) 343 IOUT=0 344 DO WHILE (len_trim(OUT_NAMES(IOUT+1)).NE.0) 345 CALL STR_TO_UPPER(OUT_NAMES(IOUT+1)) 346 !WRITE(6,*) 'Requested:',OUT_NAMES(IOUT+1) 347 ! 348 ! 2. Matches names with expected ... 349 ! 350 TESTSTR=OUT_NAMES(IOUT+1) 351 SELECT CASE(TRIM(TESTSTR(1:6))) 352 ! 353 ! Group 1 354 ! 355 CASE('DPT') 356 FLG2D(1,1)=.TRUE. 357 CASE('CUR') 358 FLG2D(1,2)=.TRUE. 359 CASE('WND') 360 FLG2D(1,3)=.TRUE. 361 CASE('AST') 362 FLG2D(1,4)=.TRUE. 363 CASE('WLV') 364 FLG2D(1,5)=.TRUE. 365 CASE('ICE') 366 FLG2D(1,6)=.TRUE. 367 CASE('IBG') 368 FLG2D(1,7)=.TRUE. 369 ! 370 ! Group 2 371 ! 372 CASE('HS') 373 FLG2D(2,1)=.TRUE. 374 CASE('LM') 375 FLG2D(2,2)=.TRUE. 376 CASE('T02') 377 FLG2D(2,3)=.TRUE. 378 CASE('T01') 379 FLG2D(2,4)=.TRUE. 380 CASE('T0M1') 381 FLG2D(2,5)=.TRUE. Page 9 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 382 CASE('FP') 383 FLG2D(2,6)=.TRUE. 384 CASE('DIR') 385 FLG2D(2,7)=.TRUE. 386 CASE('SPR') 387 FLG2D(2,8)=.TRUE. 388 CASE('DP') 389 FLG2D(2,9)=.TRUE. 390 ! 391 ! Group 3 392 ! 393 CASE('EF') 394 FLG2D(3,1)=.TRUE. 395 CASE('TH1M') 396 FLG2D(3,2)=.TRUE. 397 CASE('STH1M') 398 FLG2D(3,3)=.TRUE. 399 CASE('WN') 400 FLG2D(3,6)=.TRUE. 401 ! 402 ! Group 4 403 ! 404 CASE('PHS') 405 FLG2D(4,1)=.TRUE. 406 CASE('PTP') 407 FLG2D(4,2)=.TRUE. 408 CASE('PLP') 409 FLG2D(4,3)=.TRUE. 410 CASE('PTH') 411 FLG2D(4,4)=.TRUE. 412 CASE('PSP') 413 FLG2D(4,5)=.TRUE. 414 CASE('PWS') 415 FLG2D(4,6)=.TRUE. 416 CASE('TWS') 417 FLG2D(4,7)=.TRUE. 418 CASE('PNR') 419 FLG2D(4,8)=.TRUE. 420 ! 421 ! Group 5 422 ! 423 CASE('UST') 424 FLG2D(5,1)=.TRUE. 425 CASE('CHA') 426 FLG2D(5,2)=.TRUE. 427 CASE('CGE') 428 FLG2D(5,3)=.TRUE. 429 CASE('FAW') 430 FLG2D(5,4)=.TRUE. 431 CASE('TAW') 432 FLG2D(5,5)=.TRUE. 433 CASE('TWA') 434 FLG2D(5,6)=.TRUE. 435 CASE('WCC') 436 FLG2D(5,7)=.TRUE. 437 CASE('WCF') 438 FLG2D(5,8)=.TRUE. Page 10 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 439 CASE('WCH') 440 FLG2D(5,9)=.TRUE. 441 CASE('WCM') 442 FLG2D(5,10)=.TRUE. 443 ! 444 ! Group 6 445 ! 446 CASE('SXY') 447 FLG2D(6,1)=.TRUE. 448 CASE('TWO') 449 FLG2D(6,2)=.TRUE. 450 CASE('BHD') 451 FLG2D(6,3)=.TRUE. 452 CASE('FOC') 453 FLG2D(6,4)=.TRUE. 454 CASE('TUS') 455 FLG2D(6,5)=.TRUE. 456 CASE('USS') 457 FLG2D(6,6)=.TRUE. 458 CASE('P2S') 459 FLG2D(6,7)=.TRUE. 460 CASE('USF') 461 FLG2D(6,8)=.TRUE. 462 CASE('P2L') 463 FLG2D(6,9)=.TRUE. 464 ! 465 ! Group 7 466 ! 467 CASE('ABR') 468 FLG2D(7,1)=.TRUE. 469 CASE('UBR') 470 FLG2D(7,2)=.TRUE. 471 CASE('BED') 472 FLG2D(7,3)=.TRUE. 473 CASE('FBB') 474 FLG2D(7,4)=.TRUE. 475 CASE('TBB') 476 FLG2D(7,5)=.TRUE. 477 ! 478 ! Group 8 479 ! 480 CASE('MSS') 481 FLG2D(8,1)=.TRUE. 482 CASE('MSC') 483 FLG2D(8,2)=.TRUE. 484 ! 485 ! Group 9 486 ! 487 CASE('DTD') 488 FLG2D(9,1)=.TRUE. 489 CASE('FC') 490 FLG2D(9,2)=.TRUE. 491 CASE('CFX') 492 FLG2D(9,3)=.TRUE. 493 CASE('CFD') 494 FLG2D(9,4)=.TRUE. 495 CASE('CFK') Page 11 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 496 FLG2D(9,5)=.TRUE. 497 ! 498 ! Group 10 499 ! 500 CASE('U1') 501 FLG2D(10,1)=.TRUE. 502 CASE('U2') 503 FLG2D(10,1)=.TRUE. 504 CASE DEFAULT 505 WRITE (NDSO,1004) TRIM(TESTSTR) 506 END SELECT 507 IOUT=IOUT+1 508 END DO 509 ! 510 END IF 511 ! 512 IF ( NDSS.NE.NDSO .AND. IAPROC .EQ. NAPOUT ) THEN 513 FLT = .TRUE. 514 DO IFI=1, NOGRP 515 IF(ANY(FLG2D(IFI,:))) FLG1D(IFI)=.TRUE. !Update FLOG 516 DO IFJ=1, NGRPP 517 IF ( FLG2D(IFI,IFJ) ) THEN 518 IF ( FLT ) THEN 519 WRITE (NDSO,1945) IDOUT(IFI,IFJ) 520 FLT = .FALSE. 521 ELSE 522 WRITE (NDSO,1946) IDOUT(IFI,IFJ) 523 END IF 524 END IF 525 END DO 526 END DO 527 IF ( FLT ) WRITE (NDSO,1945) 'no fields defined' 528 END IF 529 ! 530 RETURN 531 ! 532 2001 CONTINUE 533 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSEN,1001) 534 RETURN 535 2002 CONTINUE 536 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSEN, 1002) IFI, IERR 537 RETURN 538 2003 CONTINUE 539 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSEN, 1003) IERR 540 RETURN 541 2004 CONTINUE 542 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSEN, 1004) IERR 543 IERR=0 544 RETURN 545 2005 CONTINUE 546 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSEN, 1005) AFLG 547 RETURN 548 2006 CONTINUE 549 IF ( IAPROC .EQ. NAPERR ) WRITE (NDSEN, 1006) IFI,IERR 550 RETURN 551 ! 552 1945 FORMAT ( ' Fields : ',A) Page 12 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 553 1946 FORMAT ( ' ',A) 554 ! 555 1001 FORMAT (/' *** WAVEWATCH III ERROR : '/ & 556 ' PREMATURE END OF INPUT FILE'/) 557 ! 558 1002 FORMAT (/' *** WAVEWATCH III ERROR : '/ & 559 ' ERROR IN READING OUTPUT FIELDS GROUP FLAGS ', & 560 I2, /, ' IOSTAT =',I5/) 561 ! 562 1003 FORMAT (/' *** WAVEWATCH III ERROR : '/ & 563 ' ERROR READING OUTPUT FIELD NAMES FROM INPUT FILE'/& 564 ' IOSTAT =',I5/) 565 ! 566 1004 FORMAT (/' *** WAVEWATCH III WARNING : '/ & 567 ' REQUESTED OUTPUT FIELD ',A,' WAS NOT RECOGNIZED.'/) 568 ! 569 1005 FORMAT (/' *** WAVEWATCH III ERROR : '/ & 570 ' WAS EXPECTING "T" "F" or "N", but found "',A,'".'/) 571 ! 572 1006 FORMAT (/' *** WAVEWATCH III ERROR : '/ & 573 ' ERROR IN READING OUTPUT FIELDS FLAGS FOR GROUP ', & 574 I2, /, ' IOSTAT =',I5/) 575 ! 576 1007 FORMAT (/' *** WAVEWATCH III WARNING : '/ & 577 ' NUMBER OF REQUESTED OUTPUT FIELD FLAGS IN GROUP ',& 578 I2, /,' LESS THAN AVAILABLE, CHECK DOCS FOR MORE OPTIONS') 579 ! 580 END SUBROUTINE W3READFLGRD Page 13 Source Listing W3READFLGRD 2014-09-16 16:52 Entry Points w3iogomd.f90 ENTRY POINTS Name w3iogomd_mp_w3readflgrd_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 555 533 1002 Label 558 536 1003 Label 562 539 1004 Label 566 505,542 1005 Label 569 546 1006 Label 572 549 1007 Label 576 331 1945 Label 552 519,527 1946 Label 553 522 2001 Label 532 307,321,340 2002 Label 535 307 2003 Label 538 340 2004 Label 541 2005 Label 545 317 2006 Label 548 321 AFLG Local 291 CHAR 1 scalar 307,308,310,312,546 ANY Func 515 scalar 515 COMSTR Dummy 212 CHAR 1 scalar ARG,INOUT 306,320,339 CONSTANTS Module 271 271 FLG1D Dummy 213 L(4) 4 1 10 ARG,OUT 301,309,311,319,515 FLG2D Dummy 213 L(4) 4 2 200 ARG,OUT 300,329,356,358,360,362,364,366,36 8,373,375,377,379,381,383,385,387, 389,394,396,398,400,405,407,409,41 1,413,415,417,419,424,426,428,430, 432,434,436,438,440,442,447,449,45 1,453,455,457,459,461,463,468,470, 472,474,476,481,483,488,490,492,49 4,496,501,503,515,517 FLOG Local 272 L(4) 4 1 1 PTR 272 FLT Local 292 L(4) 4 scalar 513,518,520,527 I Local 290 I(4) 4 scalar IAPROC Dummy 213 I(4) 4 scalar ARG,IN 512,533,536,539,542,546,549 IDOUT Local 272 CHAR 20 2 200 272,519,522 IERR Dummy 213 I(4) 4 scalar ARG,OUT 299,316,321,340,536,539,542,543,54 9 IFI Local 290 I(4) 4 scalar 304,309,311,319,329,331,514,515,51 7,519,522,536,549 IFJ Local 290 I(4) 4 scalar 325,326,327,328,329,331,516,517,51 9,522 IOUT Local 290 I(4) 4 scalar 343,344,345,350,507 LEN_TRIM Func 326 scalar 326,344 NAMES Local 292 L(4) 4 scalar 302,313,335 NAPERR Local 272 I(4) 4 scalar PTR 272,533,536,539,542,546,549 NAPOUT Dummy 213 I(4) 4 scalar ARG,IN 512 Page 14 Source Listing W3READFLGRD 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References NDSEN Dummy 212 I(4) 4 scalar ARG,IN 306,320,331,339,533,536,539,542,54 6,549 NDSI Dummy 212 I(4) 4 scalar ARG,IN 306,307,320,321,339,340 NDSO Dummy 212 I(4) 4 scalar ARG,IN 505,512,519,522,527 NDSS Dummy 212 I(4) 4 scalar ARG,IN 512 NEXTLN Subr 273 273,306,320,339 NGRPP Param 272 I(4) 4 scalar 272,283,516 NOGE Local 272 I(4) 4 1 10 272,331 NOGRP Param 272 I(4) 4 scalar 272,283,304,514 OUTFIELDNAMES Local 284 CHAR 1024 scalar 322,324,340,342 OUT_NAMES Local 285 CHAR 100 1 100 323,324,326,328,341,342,344,345,35 0 STRSPLIT Subr 273 273,324,342 STR_TO_UPPER Subr 273 273,345 TESTSTR Local 285 CHAR 100 scalar 350,351,505 TRIM Func 351 scalar 351,505 W3ODATMD Module 272 272 W3READFLGRD Subr 212 W3SERVMD Module 273 273 Page 15 Source Listing W3READFLGRD 2014-09-16 16:52 w3iogomd.f90 581 582 !/ ------------------------------------------------------------------- / 583 SUBROUTINE W3OUTG ( A, FLPART, FLOUTG, FLOUTG2 ) 584 !/ 585 !/ +-----------------------------------+ 586 !/ | WAVEWATCH III NOAA/NCEP | 587 !/ | H. L. Tolman | 588 !/ | FORTRAN 90 | 589 !/ | Last update : 25-Dec-2012 | 590 !/ +-----------------------------------+ 591 !/ 592 !/ 10-Dec-1998 : Distributed FORTRAN 77 version. ( version 1.18 ) 593 !/ 04-Jan-2000 : Upgrade to FORTRAN 90 ( version 2.00 ) 594 !/ Major changes to logistics. 595 !/ 09-May-2002 : Switch clean up. ( version 2.21 ) 596 !/ 19-Oct-2004 : Multiple grid version. ( version 3.06 ) 597 !/ 21-Jul-2005 : Adding output fields 19-21. ( version 3.07 ) 598 !/ 23-Apr-2006 : Filter for directional spread. ( version 3.09 ) 599 !/ 02-Apr-2007 : Adding partitioned output. ( version 3.11 ) 600 !/ Adding user slots for outputs. 601 !/ 08-Oct-2007 : Adding ST3 source term option. ( version 3.13 ) 602 !/ ( F. Ardhuin ) 603 !/ 05-Mar-2008 : Added NEC sxf90 compiler directives 604 !/ (Chris Bunney, UK Met Office) ( version 3.13 ) 605 !/ 25-Dec-2012 : New output structure and smaller ( version 4.11 ) 606 !/ memory footprint. 607 !/ 608 ! 1. Purpose : 609 ! 610 ! Fill necessary arrays with gridded data for output. 611 ! 612 ! 3. Parameters : 613 ! 614 ! Parameter list 615 ! ---------------------------------------------------------------- 616 ! A R.A. I Input spectra. Left in par list to change 617 ! shape. 618 ! FLPART Log. I Flag for filling fields with part. data. 619 ! FLOUTG Log. I Flag for file field output 620 ! FLOUTG2 Log. I Flag for coupling field output 621 ! ---------------------------------------------------------------- 622 ! 623 ! Locally saved parameters 624 ! ---------------------------------------------------------------- 625 ! HSMIN Real Filter level in Hs for calculation of mean 626 ! wave parameters. 627 ! ---------------------------------------------------------------- 628 ! 629 ! 4. Subroutines used : 630 ! 631 ! See module documentation. 632 ! 633 ! 5. Called by : 634 ! 635 ! Name Type Module Description 636 ! ---------------------------------------------------------------- 637 ! W3WAVE Subr. W3WAVEMD Actual wave model routine. Page 16 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 638 ! ---------------------------------------------------------------- 639 ! 640 ! 6. Error messages : 641 ! 642 ! None. 643 ! 644 ! 8. Structure : 645 ! 646 ! See source code. 647 ! 648 ! 9. Switches : 649 ! 650 ! !/SHRD Switch for shared / distributed memory architecture. 651 ! !/DIST Id. 652 ! 653 ! !/C90 Cray FORTRAN 90 compiler directives. 654 ! !/NEC NEC SXF90 compiler directives. 655 ! !/OMP1 OpenMP compiler directive for loop splitting. 656 ! 657 ! !/O8 Filter for low wave heights ( HSMIN ) 658 ! !/O9 Negative wave height alowed, other mean parameters will 659 ! not be correct. 660 ! 661 ! !/ST0 No source terms. 662 ! !/ST1 Source term set 1 (WAM equiv.) 663 ! !/ST2 Source term set 2 (Tolman and Chalikov) 664 ! !/ST3 Source term set 3 (WAM 4+) 665 ! !/ST6 Source term set 6 (BYDRZ) 666 ! !/STX Open source term slot (implemented as ST0). 667 ! 668 ! !/S Enable subroutine tracing. 669 ! !/T Test output. 670 ! 671 ! 10. Source code : 672 ! 673 !/ ------------------------------------------------------------------- / 674 USE CONSTANTS 675 USE W3GDATMD 676 USE W3WDATMD, ONLY: UST, FPIS 677 USE W3ADATMD, ONLY: CG, WN, DW 678 USE W3ADATMD, ONLY: HS, WLM, T02, T0M1, T01, FP0, THM, THS, THP0 679 680 USE W3ADATMD, ONLY: FP1, THP1, ABA, ABD, UBA, UBD, FCUT, & 681 SXX, SYY, SXY, PHS, PTP, PLP, PTH, PSI, PWS,& 682 PWST, PNR, USERO, TAUOX, TAUOY, TAUWIX, & 683 TAUWIY, PHIAW, PHIOC, TUSX, TUSY, PRMS, TPMS,& 684 USSX, USSY, MSSX, MSSY, MSCX, MSCY, CHARN, & 685 TAUWNX, TAUWNY, BHD, & 686 CGE, BEDFORMS, WHITECAP, TAUBBL, PHIBBL, & 687 CFLXYMAX, CFLTHMAX, CFLKMAX, P2SMS, & 688 US3D, EF, TH1M, STH1M, TH2M, STH2M 689 USE W3ODATMD, ONLY: NDST, UNDEF, IAPROC, NAPROC, NAPFLD, & 690 ICPRT, DTPRT, WSCUT, NOSWLL, FLOGRD, FLOGR2 691 ! 692 IMPLICIT NONE 693 !/ 694 !/ ------------------------------------------------------------------- / Page 17 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 695 !/ Parameter list 696 !/ 697 REAL, INTENT(IN) :: A(NTH,NK,0:NSEAL) 698 LOGICAL, INTENT(IN) :: FLPART, FLOUTG, FLOUTG2 699 !/ 700 !/ ------------------------------------------------------------------- / 701 !/ Local parameters 702 !/ 703 INTEGER :: IK, ITH, JSEA, ISEA, IX, IY, & 704 IKP0(NSEAL), IKP1(NSEAL), NKH(NSEAL),& 705 ILOW, ICEN, IHGH, I, J, LKMS, HKMS 706 REAL :: FXPMC, FACTOR, FACTOR2, EBAND, FKD, & 707 FP1STR, FP1TST, FPISTR, AABS, UABS, & 708 XL, XH, XL2, XH2, EL, EH, DENOM, KD, & 709 M1 710 REAL :: ET(NSEAL), EWN(NSEAL), ETR(NSEAL), & 711 ETX(NSEAL), ETY(NSEAL), AB(NSEAL), & 712 ABX(NSEAL), ABY(NSEAL),ET02(NSEAL), & 713 EBD(NK,NSEAL), EC(NSEAL), & 714 ABR(NSEAL), UBR(NSEAL), UBS(NSEAL), & 715 ABX2(NSEAL), ABY2(NSEAL), & 716 ABST(NSEAL), ABXX(NSEAL), & 717 ABYY(NSEAL), ABXY(NSEAL), & 718 ETUSCX(NSEAL), ETUSCY(NSEAL), & 719 ETMSSL(NSEAL), ETMSSCL(NSEAL), & 720 ETTPMM(NSEAL), ETF(NSEAL), ET1(NSEAL) 721 REAL USSCO, FT1 722 REAL, SAVE :: HSMIN = 0.01 723 !/ 724 !/ ------------------------------------------------------------------- / 725 !/ 726 ! 727 FXPMC = 0.66 * GRAV / 28. 728 HSMIN = HSMIN 729 FT1 = 0.3333 * SIG(NK)**2 * DTH * SIG(NK) 730 ! 731 ! 1. Initialize storage arrays -------------------------------------- * 732 ! 733 ET = 0. 734 ET02 = 0. 735 EWN = 0. 736 ETR = 0. 737 ET1 = 0. 738 ETX = 0. 739 ETY = 0. 740 ABR = 0. 741 ABA = 0. 742 ABD = 0. 743 UBR = 0. 744 UBA = 0. 745 UBD = 0. 746 UBS = 0. 747 SXX = 0. 748 SYY = 0. 749 SXY = 0. 750 USSX = 0. 751 USSY = 0. Page 18 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 752 TUSX = 0. 753 TUSY = 0. 754 MSSX = 0. 755 MSSY = 0. 756 MSCX = 0. 757 MSCY = 0. 758 PRMS = 0. 759 TPMS = 0. 760 ETUSCY = 0. 761 ETUSCY = 0. 762 ETMSSL = 0. 763 ETMSSCL= 0. 764 ETTPMM = 0. 765 EBD = 0. 766 EC = 0. 767 ETF = 0. 768 BHD = 0. 769 ! 770 HS = UNDEF 771 WLM = UNDEF 772 T0M1 = UNDEF 773 T01 = UNDEF 774 T02 = UNDEF 775 FP0 = UNDEF 776 THM = UNDEF 777 THS = UNDEF 778 THP0 = UNDEF 779 ! 780 FP1 = UNDEF 781 THP1 = UNDEF 782 ! 783 ! 2. Integral over discrete part of spectrum ------------------------ * 784 ! 785 DO IK=1, NK 786 ! 787 ! 2.a Initialize energy in band 788 ! 789 AB = 0. 790 ABX = 0. 791 ABY = 0. 792 ABX2 = 0. 793 ABY2 = 0. 794 ABXX = 0. 795 ABYY = 0. 796 ABXY = 0. 797 ABST = 0. 798 ! 799 ! 2.b Integrate energy in band 800 ! 801 DO ITH=1, NTH 802 DO JSEA=1, NSEAL 803 NKH(JSEA) =MIN ( NK , & 804 INT(FACTI2+FACTI1*LOG(MAX(1.E-7,FCUT(JSEA)))) ) 805 AB (JSEA) = AB (JSEA) + A(ITH,IK,JSEA) 806 ABX(JSEA) = ABX(JSEA) + A(ITH,IK,JSEA)*ECOS(ITH) 807 ABY(JSEA) = ABY(JSEA) + A(ITH,IK,JSEA)*ESIN(ITH) 808 ABX2(JSEA) = ABX2(JSEA) + A(ITH,IK,JSEA)*EC2(ITH) Page 19 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 809 ABY2(JSEA) = ABY2(JSEA) + A(ITH,IK,JSEA)*ES2(ITH) 810 IF (ITH.LE.NTH/2) THEN 811 ABST(JSEA) = ABST(JSEA) + A(ITH,IK,JSEA)*A(ITH+NTH/2,IK,JSEA) 812 END IF 813 ISEA = JSEA 814 FACTOR = MAX ( 0.5 , CG(IK,ISEA)/SIG(IK)*WN(IK,ISEA) ) 815 ABXX(JSEA) = ABXX(JSEA) + ((1.+EC2(ITH))*FACTOR-0.5) * & 816 A(ITH,IK,JSEA) 817 ABYY(JSEA) = ABYY(JSEA) + ((1.+ES2(ITH))*FACTOR-0.5) * & 818 A(ITH,IK,JSEA) 819 ABXY(JSEA) = ABXY(JSEA) + ESC(ITH)*FACTOR * A(ITH,IK,JSEA) 820 END DO 821 END DO 822 ! 823 ! 2.c Finalize integration over band and update mean arrays 824 ! 825 DO JSEA=1, NSEAL 826 ISEA = JSEA 827 FACTOR = DDEN(IK) / CG(IK,ISEA) 828 EBD(IK,JSEA) = AB(JSEA) * FACTOR 829 ET (JSEA) = ET (JSEA) + EBD(IK,JSEA) 830 ETF(JSEA) = ETF(JSEA) + EBD(IK,JSEA) * CG(IK,ISEA) 831 EWN(JSEA) = EWN(JSEA) + EBD(IK,JSEA) / WN(IK,ISEA) 832 ETR(JSEA) = ETR(JSEA) + EBD(IK,JSEA) / SIG(IK) 833 ET1(JSEA) = ET1(JSEA) + EBD(IK,JSEA) * SIG(IK) 834 ET02(JSEA) = ET02(JSEA)+ EBD(IK,JSEA) * SIG(IK)**2 835 ETX(JSEA) = ETX(JSEA) + ABX(JSEA) * FACTOR 836 ETY(JSEA) = ETY(JSEA) + ABY(JSEA) * FACTOR 837 TUSX(JSEA) = TUSX(JSEA) + ABX(JSEA)*FACTOR & 838 *GRAV*WN(IK,ISEA)/SIG(IK) 839 TUSY(JSEA) = TUSY(JSEA) + ABY(JSEA)*FACTOR & 840 *GRAV*WN(IK,ISEA)/SIG(IK) 841 MSSX(JSEA) = MSSX(JSEA) + ABX2(JSEA)*FACTOR * WN(IK,ISEA)**2 842 MSSY(JSEA) = MSSY(JSEA) + ABY2(JSEA)*FACTOR * WN(IK,ISEA)**2 843 IF (SIG(IK)*0.5*(1+XFR).LT.0.4*TPI) THEN 844 ETMSSL(JSEA) = ETMSSL(JSEA) + AB(JSEA)*FACTOR & 845 *WN(IK,ISEA)**2 846 ELSE 847 IF (SIG(MAX(IK-1,1))*0.5*(1+XFR).LT.0.4*TPI) THEN 848 ETMSSL(JSEA) = ETMSSL(JSEA) + AB(JSEA)*FACTOR & 849 *(SIG(IK)*0.5*(1+1/XFR)-(0.4*TPI))/DSII(IK) & 850 *WN(IK,ISEA)**2 851 FACTOR2 = SIG(IK)**5/(GRAV**2)/DSII(IK) 852 ETMSSCL(JSEA) = AB(JSEA)*FACTOR*FACTOR2 853 END IF 854 END IF 855 ! 856 UBS(JSEA) = UBS(JSEA) + AB(JSEA) * SIG(IK)**2 857 ! 858 ! Microseismic equivalent pressure spectral density 859 ! 860 FACTOR2 = DTH*2/(TPI**2) & 861 * SIG(IK) & 862 * (TPI*SIG(IK)/CG(IK,ISEA))**2 & ! Jacobian^2 to get E(f,th) from A(k,th) 863 * ABST(JSEA) 864 ! 865 ! Integration over seismic radian frequency : *2*dsigma Page 20 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 866 ! 867 PRMS(JSEA) = PRMS(JSEA) + FACTOR2 * 2 * DSII(IK) 868 IF ( FLOGRD (6, 9).AND.(IK.GE.P2MSF(2).AND.IK.LE.P2MSF(3))) & 869 P2SMS(JSEA,IK) = FACTOR2 * 2 * TPI 870 IF (FACTOR2 .GT. ETTPMM(JSEA)) THEN 871 ETTPMM(JSEA) = FACTOR2 872 TPMS(JSEA) = TPI/SIG(IK) 873 END IF 874 875 ! 876 ! Directional moments in the last freq. band 877 ! 878 IF (IK.EQ.NK) THEN 879 FACTOR2 = SIG(IK)**5/(GRAV**2)/DSII(IK) 880 ETUSCX(JSEA) = ABX(JSEA)*FACTOR*FACTOR2 881 ETUSCY(JSEA) = ABY(JSEA)*FACTOR*FACTOR2 882 MSCX(JSEA) = ABX2(JSEA) * FACTOR * FACTOR2 883 MSCY(JSEA) = ABY2(JSEA) * FACTOR * FACTOR2 884 END IF 885 ! 886 ! Deep water limits 887 ! 888 KD = MAX ( 0.001 , WN(IK,ISEA) * DW(ISEA) ) 889 IF ( KD .LT. 6. ) THEN 890 FKD = FACTOR / SINH(KD)**2 891 ABR(JSEA) = ABR(JSEA) + AB(JSEA) * FKD 892 ABA(JSEA) = ABA(JSEA) + ABX(JSEA) * FKD 893 ABD(JSEA) = ABD(JSEA) + ABY(JSEA) * FKD 894 UBR(JSEA) = UBR(JSEA) + AB(JSEA) * SIG(IK)**2 * FKD 895 UBA(JSEA) = UBA(JSEA) + ABX(JSEA) * SIG(IK)**2 * FKD 896 UBD(JSEA) = UBD(JSEA) + ABY(JSEA) * SIG(IK)**2 * FKD 897 USSCO=FKD*SIG(IK)*WN(IK,ISEA)*COSH(2.*KD) 898 BHD(JSEA) = BHD(JSEA) + & 899 GRAV*WN(IK,ISEA) * EBD(IK,JSEA) / (SINH(2.*KD)) 900 ELSE 901 USSCO=FACTOR*SIG(IK)*2.*WN(IK,ISEA) 902 END IF 903 ! 904 ABXX(JSEA) = MAX ( 0. , ABXX(JSEA) ) * FACTOR 905 ABYY(JSEA) = MAX ( 0. , ABYY(JSEA) ) * FACTOR 906 ABXY(JSEA) = ABXY(JSEA) * FACTOR 907 SXX(JSEA) = SXX(JSEA) + ABXX(JSEA) 908 SYY(JSEA) = SYY(JSEA) + ABYY(JSEA) 909 SXY(JSEA) = SXY(JSEA) + ABXY(JSEA) 910 EBD(IK,JSEA) = EBD(IK,JSEA) / DSII(IK) 911 ! 912 IF ( FLOGRD( 3, 1).AND.(IK.GE.E3DF(2,1).AND.IK.LE.E3DF(3,1))) & 913 EF(JSEA,IK) = EBD(IK,JSEA) * TPI 914 ! 915 USSX(JSEA) = USSX(JSEA) + ABX(JSEA)*USSCO 916 USSY(JSEA) = USSY(JSEA) + ABY(JSEA)*USSCO 917 ! 918 ! Fills the 3D Stokes drift spectrum array 919 ! 920 IF ( FLOGRD( 6, 8).AND.(IK.GE.US3DF(2).AND.IK.LE.US3DF(3) )) THEN 921 US3D(JSEA,IK) = ABX(JSEA)*USSCO 922 US3D(JSEA,NK+IK) = ABY(JSEA)*USSCO Page 21 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 923 END IF 924 IF ( FLOGRD( 3, 2).AND.(IK.GE.E3DF(2,1).AND.IK.LE.E3DF(3,2))) & 925 TH1M(JSEA,IK)= MOD ( 630. - RADE*ATAN2(ABY(JSEA),ABX(JSEA)) , 360. ) 926 M1 = SQRT(ABX(JSEA)**2+ABY(JSEA)**2)/MAX(1E-20,AB(JSEA)) 927 IF ( FLOGRD( 3, 3).AND.(IK.GE.E3DF(2,3).AND.IK.LE.E3DF(3,3))) & 928 STH1M(JSEA,IK)= SQRT(ABS(2.*(1-M1)))*RADE 929 END DO 930 !FA TH2M AND STH2M CAN BE ADDED HERE 931 ! 932 END DO 933 ! 934 ! 3. Finalize computation of mean parameters ------------------------ * 935 ! 3.a Add tail 936 ! ( DTH * SIG absorbed in FTxx ) 937 ! 938 DO JSEA=1, NSEAL 939 ISEA = JSEA 940 EBAND = AB(JSEA) / CG(NK,ISEA) 941 ET (JSEA) = ET (JSEA) + FTE * EBAND 942 EWN(JSEA) = EWN(JSEA) + FTWL * EBAND 943 ETF(JSEA) = ETF(JSEA) + GRAV * FTTR * EBAND ! this is the integral of CgE in deep water 944 ETR(JSEA) = ETR(JSEA) + FTTR * EBAND 945 ET1(JSEA) = ET1(JSEA) + FT1 * EBAND 946 ET02(JSEA)= ET02(JSEA)+ EBAND* 0.5 * SIG(NK)**4 * DTH 947 ETX(JSEA) = ETX(JSEA) + FTE * ABX(JSEA) / CG(NK,ISEA) 948 ETY(JSEA) = ETY(JSEA) + FTE * ABY(JSEA) / CG(NK,ISEA) 949 SXX(JSEA) = SXX(JSEA) + FTE * ABXX(JSEA) / CG(NK,ISEA) 950 SYY(JSEA) = SYY(JSEA) + FTE * ABYY(JSEA) / CG(NK,ISEA) 951 SXY(JSEA) = SXY(JSEA) + FTE * ABXY(JSEA) / CG(NK,ISEA) 952 ! 953 ! Tail for surface stokes drift is commented out: very sensitive to tail power 954 ! 955 ! USSX(JSEA) = USSX(JSEA) + 2*GRAV*ETUSCX(JSEA)/SIG(NK) 956 ! USSY(JSEA) = USSY(JSEA) + 2*GRAV*ETUSCY(JSEA)/SIG(NK) 957 UBS(JSEA) = UBS(JSEA) + FTWL * EBAND/GRAV 958 END DO 959 ! 960 SXX = SXX * DWAT * GRAV 961 SYY = SYY * DWAT * GRAV 962 SXY = SXY * DWAT * GRAV 963 ! 964 DO JSEA=1, NSEAL 965 ISEA = JSEA 966 IX = MAPSF(ISEA,1) 967 IY = MAPSF(ISEA,2) 968 IF ( MAPSTA(IY,IX) .GT. 0 ) THEN 969 HS (JSEA) = 4. * SQRT ( ET(JSEA) ) 970 IF ( ET(JSEA) .GT. 1.E-7 ) THEN 971 WLM(JSEA) = EWN(JSEA) / ET(JSEA) * TPI 972 T0M1(JSEA) = ETR(JSEA) / ET(JSEA) * TPI 973 THS(JSEA) = RADE * SQRT ( MAX ( 0. , 2. * ( 1. - SQRT ( & 974 MAX(0.,(ETX(JSEA)**2+ETY(JSEA)**2)/ET(JSEA)**2) ) ) ) ) 975 IF ( THS(JSEA) .LT. 0.01*RADE*DTH ) THS(JSEA) = 0. 976 END IF 977 IF ( ABS(ETX(JSEA))+ABS(ETY(JSEA)) .GT. 1.E-7 ) THEN 978 THM(JSEA) = ATAN2(ETY(JSEA),ETX(JSEA)) 979 END IF Page 22 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 980 ABR(JSEA) = SQRT ( 2. * MAX ( 0. , ABR(JSEA) ) ) 981 IF ( ABR(JSEA) .GE. 1.E-7 ) THEN 982 ABD(JSEA) = ATAN2(ABD(JSEA),ABA(JSEA)) 983 ELSE 984 ABD(JSEA) = 0. 985 ENDIF 986 ABA(JSEA) = ABR(JSEA) 987 UBR(JSEA) = SQRT ( 2. * MAX ( 0. , UBR(JSEA) ) ) 988 IF ( UBR(JSEA) .GE. 1.E-7 ) THEN 989 UBD(JSEA) = ATAN2(UBD(JSEA),UBA(JSEA)) 990 ELSE 991 UBD(JSEA) = 0. 992 ENDIF 993 UBA(JSEA) = UBR(JSEA) 994 CGE(JSEA) = DWAT*GRAV*ETF(JSEA) 995 IF ( ET02(JSEA) .GT. 1.E-7 ) THEN 996 T02(JSEA) = TPI * SQRT(ET(JSEA) / ET02(JSEA) ) 997 T01(JSEA) = TPI * ET(JSEA) / ET1(JSEA) 998 ELSE 999 T02(JSEA) = TPI / SIG(NK) 1000 T01(JSEA)= T02(JSEA) 1001 ENDIF 1002 ! 1003 ! Add here USERO(JSEA,1) ... 1004 ! 1005 END IF 1006 END DO 1007 ! 1008 ! 3.b Clean-up small values if !/O8 switch selected 1009 ! 1010 ! 4. Peak frequencies and directions -------------------------------- * 1011 ! 4.a Initialize 1012 ! 1013 DO JSEA=1, NSEAL 1014 ISEA = JSEA 1015 EC (JSEA) = EBD(NK,JSEA) 1016 FP0 (JSEA) = UNDEF 1017 IKP0(JSEA) = 0 1018 THP0(JSEA) = UNDEF 1019 FP1 (JSEA) = UNDEF 1020 IKP1(JSEA) = 0 1021 THP1(JSEA) = UNDEF 1022 END DO 1023 ! 1024 ! 4.b Discrete peak frequencies 1025 ! 1026 DO IK=NK-1, 2, -1 1027 DO JSEA=1, NSEAL 1028 ISEA = JSEA 1029 IF ( EC(JSEA) .LT. EBD(IK,JSEA) ) THEN 1030 EC (JSEA) = EBD(IK,JSEA) 1031 IKP0(JSEA) = IK 1032 END IF 1033 IF ( IKP1(JSEA).EQ.0 & 1034 .AND. EBD(IK-1,JSEA).LT.EBD(IK,JSEA) & 1035 .AND. EBD(IK-1,JSEA).LT.EBD(IK+1,JSEA) & 1036 .AND. SIG(IK).GT.FXPMC/MAX(1.E-4,UST(ISEA)) & Page 23 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 1037 .AND. SIG(IK).LT.0.75*SIG(NK) ) & 1038 IKP1(JSEA) = IK 1039 END DO 1040 END DO 1041 ! 1042 DO JSEA=1, NSEAL 1043 ISEA = JSEA 1044 IF ( IKP0(JSEA) .NE. 0 ) FP0(JSEA) = SIG(IKP0(JSEA)) * TPIINV 1045 IF ( IKP1(JSEA) .NE. 0 ) FP1(JSEA) = SIG(IKP1(JSEA)) * TPIINV 1046 END DO 1047 ! 1048 ! 4.c Continuous peak frequencies 1049 ! 1050 XL = 1./XFR - 1. 1051 XH = XFR - 1. 1052 XL2 = XL**2 1053 XH2 = XH**2 1054 ! 1055 DO JSEA=1, NSEAL 1056 ISEA = JSEA 1057 ILOW = MAX ( 1 , IKP0(JSEA)-1 ) 1058 ICEN = MAX ( 1 , IKP0(JSEA) ) 1059 IHGH = MIN ( NK , IKP0(JSEA)+1 ) 1060 EL = EBD(ILOW,JSEA) - EBD(ICEN,JSEA) 1061 EH = EBD(IHGH,JSEA) - EBD(ICEN,JSEA) 1062 DENOM = XL*EH - XH*EL 1063 FP0(JSEA) = FP0 (JSEA) * ( 1. + 0.5 * ( XL2*EH - XH2*EL ) & 1064 / SIGN ( MAX(ABS(DENOM),1.E-15) , DENOM ) ) 1065 ILOW = MAX ( 1 , IKP1(JSEA)-1 ) 1066 ICEN = MAX ( 1 , IKP1(JSEA) ) 1067 IHGH = MIN ( NK , IKP1(JSEA)+1 ) 1068 EL = EBD(ILOW,JSEA) - EBD(ICEN,JSEA) 1069 EH = EBD(IHGH,JSEA) - EBD(ICEN,JSEA) 1070 DENOM = XL*EH - XH*EL 1071 FP1(JSEA) = FP1(JSEA) * ( 1. + 0.5 * (XL2*EH - XH2*EL ) & 1072 / SIGN ( MAX(ABS(DENOM),1.E-15) , DENOM ) ) 1073 END DO 1074 ! 1075 ! 4.d Peak directions 1076 ! 1077 DO JSEA=1, NSEAL 1078 ETX(JSEA) = 0. 1079 ETY(JSEA) = 0. 1080 END DO 1081 ! 1082 DO ITH=1, NTH 1083 DO JSEA=1, NSEAL 1084 ISEA = JSEA 1085 IF (IKP0(JSEA).NE.0) THEN 1086 ETX(JSEA) = ETX(JSEA) + A(ITH,IKP0(JSEA),JSEA)*ECOS(ITH) 1087 ETY(JSEA) = ETY(JSEA) + A(ITH,IKP0(JSEA),JSEA)*ESIN(ITH) 1088 END IF 1089 END DO 1090 END DO 1091 ! 1092 DO JSEA=1, NSEAL 1093 ISEA = JSEA Page 24 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 1094 IF ( ABS(ETX(JSEA))+ABS(ETY(JSEA)) .GT. 1.E-7 .AND. & 1095 FP0(JSEA).NE.UNDEF ) & 1096 THP0(JSEA) = ATAN2(ETY(JSEA),ETX(JSEA)) 1097 ETX(JSEA) = 0. 1098 ETY(JSEA) = 0. 1099 IKP1(JSEA) = MAX ( 1 , IKP1(JSEA) ) 1100 END DO 1101 ! 1102 DO ITH=1, NTH 1103 DO JSEA=1, NSEAL 1104 ISEA = JSEA 1105 IF ( FP1(JSEA).NE.UNDEF) THEN 1106 ETX(JSEA) = ETX(JSEA) + A(ITH,IKP1(JSEA),JSEA)*ECOS(ITH) 1107 ETY(JSEA) = ETY(JSEA) + A(ITH,IKP1(JSEA),JSEA)*ESIN(ITH) 1108 END IF 1109 END DO 1110 END DO 1111 ! 1112 DO JSEA =1, NSEAL 1113 ISEA = IAPROC + (JSEA-1)*NAPROC 1114 IX = MAPSF(ISEA,1) 1115 IY = MAPSF(ISEA,2) 1116 IF ( MAPSTA(IY,IX) .LE. 0 ) THEN 1117 FP0 (JSEA) = UNDEF 1118 THP0(JSEA) = UNDEF 1119 FP1 (JSEA) = UNDEF 1120 END IF 1121 END DO 1122 ! 1123 DO JSEA=1, NSEAL 1124 ISEA = JSEA 1125 IF ( ABS(ETX(JSEA))+ABS(ETY(JSEA)) .GT. 1.E-7 .AND. & 1126 FP1(JSEA) .NE. UNDEF ) & 1127 THP1(JSEA) = ATAN2(ETY(JSEA),ETX(JSEA)) 1128 END DO 1129 ! 1130 ! 5. Test output (local to MPP only) 1131 ! 1132 ! 6. Fill arrays wth partitioned data 1133 ! 1134 IF ( FLPART ) THEN 1135 ! 1136 ! 6.a Initializations 1137 ! 1138 PHS = UNDEF 1139 PTP = UNDEF 1140 PLP = UNDEF 1141 PTH = UNDEF 1142 PSI = UNDEF 1143 PWS = UNDEF 1144 PWST = UNDEF 1145 PNR = UNDEF 1146 ! 1147 ! 6.b Loop over local sea points 1148 ! 1149 DO JSEA=1, NSEAL 1150 ISEA = JSEA Page 25 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 1151 IX = MAPSF(ISEA,1) 1152 IY = MAPSF(ISEA,2) 1153 ! 1154 IF ( MAPSTA(IY,IX).GT.0 ) THEN 1155 I = ICPRT(JSEA,2) 1156 PNR(JSEA) = MAX ( 0. , REAL(ICPRT(JSEA,1)-1) ) 1157 IF ( ICPRT(JSEA,1).GE.1 ) PWST(JSEA) = DTPRT(6,I) 1158 END IF 1159 ! 1160 IF ( MAPSTA(IY,IX).GT.0 .AND. ICPRT(JSEA,1).GT.1 ) THEN 1161 I = ICPRT(JSEA,2) + 1 1162 IF ( DTPRT(6,I) .GE. WSCUT ) THEN 1163 PHS(JSEA,0) = DTPRT(1,I) 1164 PTP(JSEA,0) = DTPRT(2,I) 1165 PLP(JSEA,0) = DTPRT(3,I) 1166 PTH(JSEA,0) = ( 270. - DTPRT(4,I) ) * DERA 1167 PSI(JSEA,0) = DTPRT(5,I) 1168 PWS(JSEA,0) = DTPRT(6,I) 1169 I = I + 1 1170 END IF 1171 DO J=1, NOSWLL 1172 IF ( I .GT. ICPRT(JSEA,2)+ICPRT(JSEA,1)-1 ) EXIT 1173 PHS(JSEA,J) = DTPRT(1,I) 1174 PTP(JSEA,J) = DTPRT(2,I) 1175 PLP(JSEA,J) = DTPRT(3,I) 1176 PTH(JSEA,J) = ( 270. - DTPRT(4,I) ) * DERA 1177 PSI(JSEA,J) = DTPRT(5,I) 1178 PWS(JSEA,J) = DTPRT(6,I) 1179 I = I + 1 1180 END DO 1181 END IF 1182 ! 1183 END DO 1184 ! 1185 END IF 1186 ! 1187 RETURN 1188 ! 1189 ! Formats 1190 ! 1191 !/ 1192 !/ End of W3OUTG ----------------------------------------------------- / 1193 !/ 1194 END SUBROUTINE W3OUTG Page 26 Source Listing W3OUTG 2014-09-16 16:52 Entry Points w3iogomd.f90 ENTRY POINTS Name w3iogomd_mp_w3outg_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References A Dummy 583 R(4) 4 3 0 ARG,IN 805,806,807,808,809,811,816,818,81 9,1086,1087,1106,1107 AABS Local 707 R(4) 4 scalar AB Local 711 R(4) 4 1 0 789,805,828,844,848,852,856,891,89 4,926,940 ABA Local 680 R(4) 4 1 1 PTR 680,741,892,982,986 ABD Local 680 R(4) 4 1 1 PTR 680,742,893,982,984 ABR Local 714 R(4) 4 1 0 740,891,980,981,986 ABS Func 928 scalar 928,977,1064,1072,1094,1125 ABST Local 716 R(4) 4 1 0 797,811,863 ABX Local 712 R(4) 4 1 0 790,806,835,837,880,892,895,915,92 1,925,926,947 ABX2 Local 715 R(4) 4 1 0 792,808,841,882 ABXX Local 716 R(4) 4 1 0 794,815,904,907,949 ABXY Local 717 R(4) 4 1 0 796,819,906,909,951 ABY Local 712 R(4) 4 1 0 791,807,836,839,881,893,896,916,92 2,925,926,948 ABY2 Local 715 R(4) 4 1 0 793,809,842,883 ABYY Local 717 R(4) 4 1 0 795,817,905,908,950 ATAN2 Func 925 scalar 925,978,982,989,1096,1127 BEDFORMS Local 686 R(4) 4 2 1 PTR 686 BHD Local 685 R(4) 4 1 1 PTR 685,768,898 CFLKMAX Local 687 R(4) 4 1 1 PTR 687 CFLTHMAX Local 687 R(4) 4 1 1 PTR 687 CFLXYMAX Local 687 R(4) 4 1 1 PTR 687 CG Local 677 R(4) 4 2 1 PTR 677,814,827,830,862,940,947,948,94 9,950,951 CGE Local 686 R(4) 4 1 1 PTR 686,994 CHARN Local 684 R(4) 4 1 1 PTR 684 CONSTANTS Module 674 674 COSH Func 897 scalar 897 DDEN Local 827 R(4) 4 1 1 PTR 827 DENOM Local 708 R(4) 4 scalar 1062,1064,1070,1072 DERA Param 1166 R(4) 4 scalar 1166,1176 DSII Local 849 R(4) 4 1 1 PTR 849,851,867,879,910 DTH Local 729 R(4) 4 scalar PTR 729,860,946,975 DTPRT Local 690 R(4) 4 2 1 PTR 690,1157,1162,1163,1164,1165,1166, 1167,1168,1173,1174,1175,1176,1177 ,1178 DW Local 677 R(4) 4 1 1 PTR 677,888 DWAT Param 960 R(4) 4 scalar 960,961,962,994 E3DF Local 912 I(4) 4 2 1 PTR 912,924,927 EBAND Local 706 R(4) 4 scalar 940,941,942,943,944,945,946,957 EBD Local 713 R(4) 4 2 0 765,828,829,830,831,832,833,834,89 Page 27 Source Listing W3OUTG 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 9,910,913,1015,1029,1030,1034,1035 ,1060,1061,1068,1069 EC Local 713 R(4) 4 1 0 766,1015,1029,1030 EC2 Local 808 R(4) 4 1 1 PTR 808,815 ECOS Local 806 R(4) 4 1 1 PTR 806,1086,1106 EF Local 688 R(4) 4 2 1 PTR 688,913 EH Local 708 R(4) 4 scalar 1061,1062,1063,1069,1070,1071 EL Local 708 R(4) 4 scalar 1060,1062,1063,1068,1070,1071 ES2 Local 809 R(4) 4 1 1 PTR 809,817 ESC Local 819 R(4) 4 1 1 PTR 819 ESIN Local 807 R(4) 4 1 1 PTR 807,1087,1107 ET Local 710 R(4) 4 1 0 733,829,941,969,970,971,972,974,99 6,997 ET02 Local 712 R(4) 4 1 0 734,834,946,995,996 ET1 Local 720 R(4) 4 1 0 737,833,945,997 ETF Local 720 R(4) 4 1 0 767,830,943,994 ETMSSCL Local 719 R(4) 4 1 0 763,852 ETMSSL Local 719 R(4) 4 1 0 762,844,848 ETR Local 710 R(4) 4 1 0 736,832,944,972 ETTPMM Local 720 R(4) 4 1 0 764,870,871 ETUSCX Local 718 R(4) 4 1 0 880 ETUSCY Local 718 R(4) 4 1 0 760,761,881 ETX Local 711 R(4) 4 1 0 738,835,947,974,977,978,1078,1086, 1094,1096,1097,1106,1125,1127 ETY Local 711 R(4) 4 1 0 739,836,948,974,977,978,1079,1087, 1094,1096,1098,1107,1125,1127 EWN Local 710 R(4) 4 1 0 735,831,942,971 FACTI1 Local 804 R(4) 4 scalar PTR 804 FACTI2 Local 804 R(4) 4 scalar PTR 804 FACTOR Local 706 R(4) 4 scalar 814,815,817,819,827,828,835,836,83 7,839,841,842,844,848,852,880,881, 882,883,890,901,904,905,906 FACTOR2 Local 706 R(4) 4 scalar 851,852,860,867,869,870,871,879,88 0,881,882,883 FCUT Local 680 R(4) 4 1 1 PTR 680,804 FKD Local 706 R(4) 4 scalar 890,891,892,893,894,895,896,897 FLOGR2 Local 690 L(4) 4 2 1 PTR 690 FLOGRD Local 690 L(4) 4 2 1 PTR 690,868,912,920,924,927 FLOUTG Dummy 583 L(4) 4 scalar ARG,IN FLOUTG2 Dummy 583 L(4) 4 scalar ARG,IN FLPART Dummy 583 L(4) 4 scalar ARG,IN 1134 FP0 Local 678 R(4) 4 1 1 PTR 678,775,1016,1044,1063,1095,1117 FP1 Local 680 R(4) 4 1 1 PTR 680,780,1019,1045,1071,1105,1119,1 126 FP1STR Local 707 R(4) 4 scalar FP1TST Local 707 R(4) 4 scalar FPIS Local 676 R(4) 4 1 1 PTR 676 FPISTR Local 707 R(4) 4 scalar FT1 Local 721 R(4) 4 scalar 729,945 FTE Local 941 R(4) 4 scalar PTR 941,947,948,949,950,951 FTTR Local 943 R(4) 4 scalar PTR 943,944 FTWL Local 942 R(4) 4 scalar PTR 942,957 FXPMC Local 706 R(4) 4 scalar 727,1036 GRAV Param 727 R(4) 4 scalar 727,838,840,851,879,899,943,957,96 0,961,962,994 Page 28 Source Listing W3OUTG 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References HKMS Local 705 I(4) 4 scalar HS Local 678 R(4) 4 1 1 PTR 678,770,969 HSMIN Local 722 R(4) 4 scalar 722,728 I Local 705 I(4) 4 scalar 1155,1157,1161,1162,1163,1164,1165 ,1166,1167,1168,1169,1172,1173,117 4,1175,1176,1177,1178,1179 IAPROC Local 689 I(4) 4 scalar PTR 689,1113 ICEN Local 705 I(4) 4 scalar 1058,1060,1061,1066,1068,1069 ICPRT Local 690 I(4) 4 2 1 PTR 690,1155,1156,1157,1160,1161,1172 IHGH Local 705 I(4) 4 scalar 1059,1061,1067,1069 IK Local 703 I(4) 4 scalar 785,805,806,807,808,809,811,814,81 6,818,819,827,828,829,830,831,832, 833,834,838,840,841,842,843,845,84 7,849,850,851,856,861,862,867,868, 869,872,878,879,888,894,895,896,89 7,899,901,910,912,913,920,921,922, 924,925,927,928,1026,1029,1030,103 1,1034,1035,1036,1037,1038 IKP0 Local 704 I(4) 4 1 0 1017,1031,1044,1057,1058,1059,1085 ,1086,1087 IKP1 Local 704 I(4) 4 1 0 1020,1033,1038,1045,1065,1066,1067 ,1099,1106,1107 ILOW Local 705 I(4) 4 scalar 1057,1060,1065,1068 INT Func 804 scalar 804 ISEA Local 703 I(4) 4 scalar 813,814,826,827,830,831,838,840,84 1,842,845,850,862,888,897,899,901, 939,940,947,948,949,950,951,965,96 6,967,1014,1028,1036,1043,1056,108 4,1093,1104,1113,1114,1115,1124,11 50,1151,1152 ITH Local 703 I(4) 4 scalar 801,805,806,807,808,809,810,811,81 5,816,817,818,819,1082,1086,1087,1 102,1106,1107 IX Local 703 I(4) 4 scalar 966,968,1114,1116,1151,1154,1160 IY Local 703 I(4) 4 scalar 967,968,1115,1116,1152,1154,1160 J Local 705 I(4) 4 scalar 1171,1173,1174,1175,1176,1177,1178 JSEA Local 703 I(4) 4 scalar 802,803,804,805,806,807,808,809,81 1,813,815,816,817,818,819,825,826, 828,829,830,831,832,833,834,835,83 6,837,839,841,842,844,848,852,856, 863,867,869,870,871,872,880,881,88 2,883,891,892,893,894,895,896,898, 899,904,905,906,907,908,909,910,91 3,915,916,921,922,925,926,928,938, 939,940,941,942,943,944,945,946,94 7,948,949,950,951,957,964,965,969, 970,971,972,973,974,975,977,978,98 0,981,982,984,986,987,988,989,991, 993,994,995,996,997,999,1000,1013, 1014,1015,1016,1017,1018,1019,1020 ,1021,1027,1028,1029,1030,1031,103 3,1034,1035,1038,1042,1043,1044,10 45,1055,1056,1057,1058,1059,1060,1 061,1063,1065,1066,1067,1068,1069, 1071,1077,1078,1079,1083,1084,1085 Page 29 Source Listing W3OUTG 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References ,1086,1087,1092,1093,1094,1095,109 6,1097,1098,1099,1103,1104,1105,11 06,1107,1112,1113,1117,1118,1119,1 123,1124,1125,1126,1127,1149,1150, 1155,1156,1157,1160,1161,1163,1164 ,1165,1166,1167,1168,1172,1173,117 4,1175,1176,1177,1178 KD Local 708 R(4) 4 scalar 888,889,890,897,899 LKMS Local 705 I(4) 4 scalar LOG Func 804 scalar 804 M1 Local 709 R(4) 4 scalar 926,928 MAPSF Local 966 I(4) 4 2 1 PTR 966,967,1114,1115,1151,1152 MAPSTA Local 968 I(4) 4 2 1 PTR 968,1116,1154,1160 MAX Func 804 scalar 804,814,847,888,904,905,926,973,97 4,980,987,1036,1057,1058,1064,1065 ,1066,1072,1099,1156 MIN Func 803 scalar 803,1059,1067 MOD Func 925 scalar 925 MSCX Local 684 R(4) 4 1 1 PTR 684,756,882 MSCY Local 684 R(4) 4 1 1 PTR 684,757,883 MSSX Local 684 R(4) 4 1 1 PTR 684,754,841 MSSY Local 684 R(4) 4 1 1 PTR 684,755,842 NAPFLD Local 689 I(4) 4 scalar PTR 689 NAPROC Local 689 I(4) 4 scalar PTR 689,1113 NDST Local 689 I(4) 4 scalar PTR 689 NK Local 697 I(4) 4 scalar PTR 697,713,729,785,803,878,922,940,94 6,947,948,949,950,951,999,1015,102 6,1037,1059,1067 NKH Local 704 I(4) 4 1 0 803 NOSWLL Local 690 I(4) 4 scalar PTR 690,1171 NSEAL Local 697 I(4) 4 scalar PTR 697,704,710,711,712,713,714,715,71 6,717,718,719,720,802,825,938,964, 1013,1027,1042,1055,1077,1083,1092 ,1103,1112,1123,1149 NTH Local 697 I(4) 4 scalar PTR 697,801,810,811,1082,1102 P2MSF Local 868 I(4) 4 1 1 PTR 868 P2SMS Local 687 R(4) 4 2 1 PTR 687,869 PHIAW Local 683 R(4) 4 1 1 PTR 683 PHIBBL Local 686 R(4) 4 1 1 PTR 686 PHIOC Local 683 R(4) 4 1 1 PTR 683 PHS Local 681 R(4) 4 2 1 PTR 681,1138,1163,1173 PLP Local 681 R(4) 4 2 1 PTR 681,1140,1165,1175 PNR Local 682 R(4) 4 1 1 PTR 682,1145,1156 PRMS Local 683 R(4) 4 1 1 PTR 683,758,867 PSI Local 681 R(4) 4 2 1 PTR 681,1142,1167,1177 PTH Local 681 R(4) 4 2 1 PTR 681,1141,1166,1176 PTP Local 681 R(4) 4 2 1 PTR 681,1139,1164,1174 PWS Local 681 R(4) 4 2 1 PTR 681,1143,1168,1178 PWST Local 682 R(4) 4 1 1 PTR 682,1144,1157 RADE Param 925 R(4) 4 scalar 925,928,973,975 REAL Func 1156 scalar 1156 SIG Local 729 R(4) 4 1 1 PTR 729,814,832,833,834,838,840,843,84 7,849,851,856,861,862,872,879,894, 895,896,897,901,946,999,1036,1037, 1044,1045 Page 30 Source Listing W3OUTG 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References SIGN Func 1064 scalar 1064,1072 SINH Func 890 scalar 890,899 SQRT Func 926 scalar 926,928,969,973,980,987,996 STH1M Local 688 R(4) 4 2 1 PTR 688,928 STH2M Local 688 R(4) 4 2 1 PTR 688 SXX Local 681 R(4) 4 1 1 PTR 681,747,907,949,960 SXY Local 681 R(4) 4 1 1 PTR 681,749,909,951,962 SYY Local 681 R(4) 4 1 1 PTR 681,748,908,950,961 T01 Local 678 R(4) 4 1 1 PTR 678,773,997,1000 T02 Local 678 R(4) 4 1 1 PTR 678,774,996,999,1000 T0M1 Local 678 R(4) 4 1 1 PTR 678,772,972 TAUBBL Local 686 R(4) 4 2 1 PTR 686 TAUOX Local 682 R(4) 4 1 1 PTR 682 TAUOY Local 682 R(4) 4 1 1 PTR 682 TAUWIX Local 682 R(4) 4 1 1 PTR 682 TAUWIY Local 683 R(4) 4 1 1 PTR 683 TAUWNX Local 685 R(4) 4 1 1 PTR 685 TAUWNY Local 685 R(4) 4 1 1 PTR 685 TH1M Local 688 R(4) 4 2 1 PTR 688,925 TH2M Local 688 R(4) 4 2 1 PTR 688 THM Local 678 R(4) 4 1 1 PTR 678,776,978 THP0 Local 678 R(4) 4 1 1 PTR 678,778,1018,1096,1118 THP1 Local 680 R(4) 4 1 1 PTR 680,781,1021,1127 THS Local 678 R(4) 4 1 1 PTR 678,777,973,975 TPI Param 843 R(4) 4 scalar 843,847,849,860,862,869,872,913,97 1,972,996,997,999 TPIINV Param 1044 R(4) 4 scalar 1044,1045 TPMS Local 683 R(4) 4 1 1 PTR 683,759,872 TUSX Local 683 R(4) 4 1 1 PTR 683,752,837 TUSY Local 683 R(4) 4 1 1 PTR 683,753,839 UABS Local 707 R(4) 4 scalar UBA Local 680 R(4) 4 1 1 PTR 680,744,895,989,993 UBD Local 680 R(4) 4 1 1 PTR 680,745,896,989,991 UBR Local 714 R(4) 4 1 0 743,894,987,988,993 UBS Local 714 R(4) 4 1 0 746,856,957 UNDEF Local 689 R(4) 4 scalar 689,770,771,772,773,774,775,776,77 7,778,780,781,1016,1018,1019,1021, 1095,1105,1117,1118,1119,1126,1138 ,1139,1140,1141,1142,1143,1144,114 5 US3D Local 688 R(4) 4 2 1 PTR 688,921,922 US3DF Local 920 I(4) 4 1 1 PTR 920 USERO Local 682 R(4) 4 2 1 PTR 682 USSCO Local 721 R(4) 4 scalar 897,901,915,916,921,922 USSX Local 684 R(4) 4 1 1 PTR 684,750,915 USSY Local 684 R(4) 4 1 1 PTR 684,751,916 UST Local 676 R(4) 4 1 1 PTR 676,1036 W3ADATMD Module 677 677,678,680 W3GDATMD Module 675 675 W3ODATMD Module 689 689 W3OUTG Subr 583 W3WDATMD Module 676 676 WHITECAP Local 686 R(4) 4 2 1 PTR 686 WLM Local 678 R(4) 4 1 1 PTR 678,771,971 WN Local 677 R(4) 4 2 1 PTR 677,814,831,838,840,841,842,845,85 Page 31 Source Listing W3OUTG 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 0,888,897,899,901 WSCUT Local 690 R(4) 4 scalar PTR 690,1162 XFR Local 843 R(4) 4 scalar PTR 843,847,849,1050,1051 XH Local 708 R(4) 4 scalar 1051,1053,1062,1070 XH2 Local 708 R(4) 4 scalar 1053,1063,1071 XL Local 708 R(4) 4 scalar 1050,1052,1062,1070 XL2 Local 708 R(4) 4 scalar 1052,1063,1071 Page 32 Source Listing W3OUTG 2014-09-16 16:52 w3iogomd.f90 1195 !/ ------------------------------------------------------------------- / 1196 SUBROUTINE W3IOGO ( INXOUT, NDSOG, IOTST, IMOD ) 1197 !/ 1198 !/ +-----------------------------------+ 1199 !/ | WAVEWATCH III NOAA/NCEP | 1200 !/ | H. L. Tolman | 1201 !/ | FORTRAN 90 | 1202 !/ | Last update : 23-Aug-2013 | 1203 !/ +-----------------------------------+ 1204 !/ 1205 !/ 17-Mar-1999 : Distributed FORTRAN 77 version. ( version 1.18 ) 1206 !/ 04-Jan-2000 : Upgrade to FORTRAN 90 ( version 2.00 ) 1207 !/ Major changes to logistics. 1208 !/ 24-Jan-2001 : Flat grid version (formats only) ( version 2.06 ) 1209 !/ 23-Apr-2002 : Clean up ( version 2.19 ) 1210 !/ 29-Apr-2002 : Add output types 17-18. ( version 2.20 ) 1211 !/ 13-Nov-2002 : Add stress vector. ( version 3.00 ) 1212 !/ 25-Oct-2004 : Multiple grid version. ( version 3.06 ) 1213 !/ 27-Jun-2005 : Adding MAPST2. ( version 3.07 ) 1214 !/ 21-Jul-2005 : Adding output fields 19-21. ( version 3.07 ) 1215 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 1216 !/ 05-Jul-2006 : Consolidate stress arrays. ( version 3.09 ) 1217 !/ 02-Apr-2007 : Adding partitioned output. ( version 3.11 ) 1218 !/ Adding user slots for outputs. 1219 !/ 30-Oct-2009 : Implement curvilinear grid type. ( version 3.14 ) 1220 !/ (W. E. Rogers & T. J. Campbell, NRL) 1221 !/ 31-Oct-2010 : Implement unstructured grids ( version 3.14 ) 1222 !/ (A. Roland and F. Ardhuin) 1223 !/ 05-Feb-2011 : Renumbering of output fields ( version 3.14 ) 1224 !/ (F. Ardhuin) 1225 !/ 25-Dec-2012 : New output structure and smaller ( version 4.11 ) 1226 !/ memory footprint. 1227 !/ 21-Aug-2013 : Added missing cos,sin for UBA, ABA ( version 4.11 ) 1228 ! 1. Purpose : 1229 ! 1230 ! Read/write gridded output. 1231 ! 1232 ! 2. Method : 1233 ! 1234 ! Fields in file are determined by flags in FLOGRD in W3ODATMD. 1235 ! 1236 ! First two columns: fields in gx_outf (GXO) and ww3_grib (GRB) 1237 ! 1238 ! G G 1239 ! R X Grp Param Code Output Parameter/Group 1240 ! B O Numb Numbr Name Tag Definition 1241 ! -------------------------------------------------- 1242 ! 1 Forcing Fields 1243 ! ------------------------------------------------- 1244 ! T T 1 1 DW DPT Water depth. 1245 ! T T 1 2 C[X,Y] CUR Current velocity. 1246 ! T T 1 3 UA WND Wind speed. 1247 ! T T 1 4 AS AST Air-sea temperature difference. 1248 ! T T 1 5 WLV WLV Water levels. 1249 ! T T 1 6 ICE ICE Ice concentration. 1250 ! T T 1 7 IBG IBG Iceberg-induced damping 1251 ! T T 1 8 D50 D50 Median sediment grain size Page 33 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1252 ! ------------------------------------------------- 1253 ! 2 Standard mean wave Parameters 1254 ! ------------------------------------------------- 1255 ! T T 2 1 HS HS Wave height. 1256 ! T T 2 2 WLM LM Mean wave length. 1257 ! T T 2 3 T02 T02 Mean wave period (Tm02). 1258 ! T T 2 4 T0M1 T0M1 Mean wave period (Tm0,-1). 1259 ! T T 2 5 T01 T01 Mean wave period (Tm01). 1260 ! T T 2 6 FP0 FP Peak frequency. 1261 ! T T 2 7 THM DIR Mean wave direction. 1262 ! T T 2 8 THS SPR Mean directional spread. 1263 ! T T 2 9 THP0 DP Peak direction. 1264 ! ------------------------------------------------- 1265 ! 3 Spectral Parameters (first 5) 1266 ! ------------------------------------------------- 1267 ! F F 3 1 Ef EF Wave frequency spectrum 1268 ! F F 3 2 th1m TH1M Mean wave direction from a1,b2 1269 ! F F 3 3 sth1m STH1M Directional spreading from a1,b2 1270 ! F F 3 4 th2m Mean wave direction from a2,b2 1271 ! F F 3 5 sth2m Directional spreading from a2,b2 1272 ! F F 3 6 WN WN Wavenumber array 1273 ! ------------------------------------------------- 1274 ! 4 Spectral Partition Parameters 1275 ! ------------------------------------------------- 1276 ! T T 4 1 PHS PHS Partitioned wave heights. 1277 ! T T 4 2 PTP PTP Partitioned peak period. 1278 ! T T 4 3 PLP PLP Partitioned peak wave length. 1279 ! T T 4 4 PTH PDIR Partitioned mean direction. 1280 ! T T 4 5 PSI PSPR Partitioned mean directional spread. 1281 ! T T 4 6 PWS PWS Partitionned wind sea fraction. 1282 ! T T 4 7 PWST TWS Total wind sea fraction. 1283 ! T T 4 8 PNR PNR Number of partitions. 1284 ! ------------------------------------------------- 1285 ! 5 Atmosphere-waves layer 1286 ! ------------------------------------------------- 1287 ! T T 5 1 UST UST Friction velocity. 1288 ! F T 5 2 CHARN CHA Charnock parameter 1289 ! F T 5 3 CGE CGE Energy flux 1290 ! F T 5 4 PHIAW FAW Air-sea energy flux 1291 ! F T 5 5 TAUWI[X,Y] TAW Net wave-supported stress 1292 ! F T 5 6 TAUWN[X,Y] TWA Negative part of the wave-supported stress 1293 ! F F 5 7 WHITECAP WCC Whitecap coverage 1294 ! F F 5 8 WHITECAP WCF Whitecap thickness 1295 ! F F 5 9 WHITECAP WCH Mean breaking height 1296 ! F F 5 10 WHITECAP WCM Whitecap moment 1297 ! ------------------------------------------------- 1298 ! 6 Wave-ocean layer 1299 ! ------------------------------------------------- 1300 ! F F 6 1 S[XX,YY,XY] SXY Radiation stresses. 1301 ! F F 6 2 TAUO[X,Y] TWO Wave to ocean momentum flux 1302 ! F F 6 3 BHD BHD Bernoulli head (J term) 1303 ! F F 6 4 PHIOC FOC Wave to ocean energy flux 1304 ! F F 6 5 TUS[X,Y] TUS Stokes transport 1305 ! F F 6 6 USS[X,Y] USS Surface Stokes drift 1306 ! F F 6 7 [PR,TP]MS P2S Second-order sum pressure 1307 ! F F 6 8 US3D USF Spectrum of surface Stokes drift 1308 ! F F 6 9 P2SMS P2L Micro seism source term Page 34 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1309 ! ------------------------------------------------- 1310 ! 7 Wave-bottom layer 1311 ! ------------------------------------------------- 1312 ! F F 7 1 ABA ABR Near bottom rms amplitides. 1313 ! F F 7 2 UBA UBR Near bottom rms velocities. 1314 ! F F 7 3 BEDFORMS BED Bedforms 1315 ! F F 7 4 PHIBBL FBB Energy flux due to bottom friction 1316 ! F F 7 5 TAUBBL TBB Momentum flux due to bottom friction 1317 ! ------------------------------------------------- 1318 ! 8 Spectrum parameters 1319 ! ------------------------------------------------- 1320 ! F F 8 1 MSS[X,Y] MSS Mean square slopes 1321 ! F F 8 2 MSC[X,Y] MSC Spectral level at high frequency tail 1322 ! ------------------------------------------------- 1323 ! 9 Numerical diagnostics 1324 ! ------------------------------------------------- 1325 ! T T 9 1 DTDYN DTD Average time step in integration. 1326 ! T T 9 2 FCUT FC Cut-off frequency. 1327 ! T T 9 3 CFLXYMAX CFX Max. CFL number for spatial advection. 1328 ! T T 9 4 CFLTHMAX CFD Max. CFL number for theta-advection. 1329 ! F F 9 5 CFLKMAX CFK Max. CFL number for k-advection. 1330 ! ------------------------------------------------- 1331 ! 10 User defined 1332 ! ------------------------------------------------- 1333 ! F F 10 1 U1 User defined #1. (requires coding ...) 1334 ! F F 10 2 U2 User defined #1. (requires coding ...) 1335 ! ------------------------------------------------- 1336 ! 1337 ! Section 4 consist of a set of fields, index 0 = wind sea, index 1338 ! 1:NOSWLL are first NOSWLL swell fields. 1339 ! 1340 ! 3. Parameters : 1341 ! 1342 ! Parameter list 1343 ! ---------------------------------------------------------------- 1344 ! INXOUT C*(*) I Test string for read/write, valid are: 1345 ! 'READ' and 'WRITE'. 1346 ! NDSOG Int. I File unit number. 1347 ! IOTST Int. O Test indictor for reading. 1348 ! 0 : Fields read. 1349 ! -1 : Past end of file. 1350 ! IMOD Int. I Model number for W3GDAT etc. 1351 ! ---------------------------------------------------------------- 1352 ! 1353 ! 4. Subroutines used : 1354 ! 1355 ! See module documentation above. 1356 ! 1357 ! 5. Called by : 1358 ! 1359 ! Name Type Module Description 1360 ! ---------------------------------------------------------------- 1361 ! W3WAVE Subr. W3WAVEMD Actual wave model routine. 1362 ! WW3_OUTF Prog. N/A Ouput postprocessor. 1363 ! WW3_GRIB Prog. N/A Ouput postprocessor. 1364 ! GX_OUTF Prog. N/A Ouput postprocessor. 1365 ! ---------------------------------------------------------------- Page 35 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1366 ! 1367 ! 6. Error messages : 1368 ! 1369 ! Tests on INXOUT, file status and on array dimensions. 1370 ! 1371 ! 7. Remarks : 1372 ! 1373 ! - MAPSTA is dumped as it contains information on the ice edge. 1374 ! Dynamic ice edges require MAPSTA to be dumped every time step. 1375 ! - The output file has the pre-defined name 'out_grd.FILEXT'. 1376 ! - The current components CX and CY are written to out_grd as 1377 ! components, but converted to magnitude and direction in most 1378 ! gridded and point output post-processors (except gx_outf). 1379 ! - All written direction are in degrees, nautical convention, 1380 ! but in reading, all is convered back to radians and cartesian 1381 ! conventions. 1382 ! - Before writing, wind and current directions are converted, 1383 ! wave directions are already in correct convention (see W3OUTG). 1384 ! - In MPP version of model data is supposed to be gatherd at the 1385 ! correct processor before the routine is called. 1386 ! - In MPP version routine is called by only one process, therefore 1387 ! no test on process for error messages is needed. 1388 ! 1389 ! 8. Structure : 1390 ! 1391 ! See source code. 1392 ! 1393 ! 9. Switches : 1394 ! 1395 ! !/ST1 First source term package (WAM3). 1396 ! !/ST2 Second source term package (TC96). 1397 ! !/S Enable subroutine tracing. 1398 ! !/T Test output. 1399 ! 1400 ! 10. Source code : 1401 ! 1402 !/ ------------------------------------------------------------------- / 1403 USE CONSTANTS 1404 USE W3GDATMD 1405 !/ 1406 USE W3WDATMD, ONLY: W3SETW, W3DIMW 1407 USE W3ADATMD, ONLY: W3SETA, W3DIMA, W3XETA 1408 USE W3ODATMD, ONLY: W3SETO 1409 !/ 1410 USE W3WDATMD, ONLY: TIME, DINIT, WLV, ICE, BERG, UST, USTDIR, ASF 1411 USE W3ADATMD, ONLY: AINIT, DW, UA, UD, AS, CX, CY, WN 1412 USE W3ADATMD, ONLY: HS, WLM, T02, T0M1, T01, FP0, THM, THS, THP0 1413 USE W3ADATMD, ONLY: FP1, THP1, DTDYN, & 1414 FCUT, ABA, ABD, UBA, UBD, SXX, SYY, SXY, & 1415 PHS, PTP, PLP, PTH, PSI, PWS, PWST, PNR, & 1416 USERO, TAUOX, TAUOY, TAUWIX, TAUWIY, & 1417 PHIAW, PHIOC, TUSX, TUSY, PRMS, TPMS, & 1418 USSX, USSY, MSSX, MSSY, MSCX, MSCY, & 1419 TAUWNX, TAUWNY, CHARN, BHD, & 1420 PHIBBL, TAUBBL, WHITECAP, BEDFORMS, CGE, & 1421 CFLXYMAX, CFLTHMAX, CFLKMAX, P2SMS, US3D, EF, & 1422 TH1M, STH1M, TH2M, STH2M Page 36 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1423 USE W3ODATMD, ONLY: NOGRP, NGRPP, IDOUT, UNDEF, NDST, NDSE, & 1424 FLOGRD, IPASS => IPASS1, WRITE => WRITE1, & 1425 FNMPRE, NOSWLL, NOEXTR 1426 !/ 1427 USE W3SERVMD, ONLY: EXTCDE 1428 ! 1429 IMPLICIT NONE 1430 !/ 1431 !/ ------------------------------------------------------------------- / 1432 !/ Parameter list 1433 !/ 1434 INTEGER, INTENT(INOUT) :: IOTST 1435 INTEGER, INTENT(IN) :: NDSOG 1436 INTEGER, INTENT(IN), OPTIONAL :: IMOD 1437 CHARACTER, INTENT(IN) :: INXOUT*(*) 1438 !/ 1439 !/ ------------------------------------------------------------------- / 1440 !/ Local parameters 1441 !/ 1442 INTEGER :: IGRD, IERR, I, J, IX, IY, MOGRP, & 1443 MGRPP, ISEA, MOSWLL, IK, IFI, IFJ 1444 INTEGER, ALLOCATABLE :: MAPTMP(:,:) 1445 REAL :: AUX1(NSEA), AUX2(NSEA), & 1446 AUX3(NSEA), AUX4(NSEA) 1447 CHARACTER(LEN=30) :: IDTST, TNAME 1448 CHARACTER(LEN=10) :: VERTST 1449 !/ 1450 !/ ------------------------------------------------------------------- / 1451 !/ 1452 ! 1453 ! test input parameters ---------------------------------------------- * 1454 ! 1455 IF ( PRESENT(IMOD) ) THEN 1456 IGRD = IMOD 1457 ELSE 1458 IGRD = 1 1459 END IF 1460 ! 1461 CALL W3SETO ( IGRD, NDSE, NDST ) 1462 CALL W3SETG ( IGRD, NDSE, NDST ) 1463 CALL W3SETA ( IGRD, NDSE, NDST ) 1464 CALL W3SETW ( IGRD, NDSE, NDST ) 1465 ! 1466 IPASS = IPASS + 1 1467 IOTST = 0 1468 ! 1469 IF (INXOUT.NE.'READ' .AND. INXOUT.NE.'WRITE' ) THEN 1470 WRITE (NDSE,900) INXOUT 1471 CALL EXTCDE ( 1 ) 1472 END IF 1473 ! 1474 IF ( IPASS.EQ.1 ) THEN 1475 WRITE = INXOUT.EQ.'WRITE' 1476 ELSE 1477 IF ( WRITE .AND. INXOUT.EQ.'READ' ) THEN 1478 WRITE (NDSE,901) INXOUT 1479 CALL EXTCDE ( 2 ) Page 37 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1480 END IF 1481 END IF 1482 ! 1483 ! open file ---------------------------------------------------------- * 1484 ! ( IPASS = 1 ) 1485 ! 1486 IF ( IPASS.EQ.1 ) THEN 1487 ! 1488 I = LEN_TRIM(FILEXT) 1489 J = LEN_TRIM(FNMPRE) 1490 ! 1491 IF ( WRITE ) THEN 1492 OPEN (NDSOG,FILE=FNMPRE(:J)//'out_grd.'//FILEXT(:I), & 1493 FORM='UNFORMATTED',ERR=800,IOSTAT=IERR) 1494 ELSE 1495 OPEN (NDSOG,FILE=FNMPRE(:J)//'out_grd.'//FILEXT(:I), & 1496 FORM='UNFORMATTED',ERR=800,IOSTAT=IERR,STATUS='OLD') 1497 END IF 1498 ! 1499 REWIND ( NDSOG ) 1500 ! 1501 ! test info --------------------------------------------------------- * 1502 ! ( IPASS = 1 ) 1503 ! 1504 IF ( WRITE ) THEN 1505 WRITE (NDSOG) & 1506 IDSTR, VEROGR, GNAME, NOGRP, NGRPP, NSEA, NX, NY, & 1507 UNDEF, NOSWLL 1508 ELSE 1509 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1510 IDTST, VERTST, TNAME, MOGRP, MGRPP, NSEA, NX, NY, & 1511 UNDEF, MOSWLL 1512 ! 1513 IF ( IDTST .NE. IDSTR ) THEN 1514 WRITE (NDSE,902) IDTST, IDSTR 1515 CALL EXTCDE ( 20 ) 1516 END IF 1517 IF ( VERTST .NE. VEROGR ) THEN 1518 WRITE (NDSE,903) VERTST, VEROGR 1519 CALL EXTCDE ( 21 ) 1520 END IF 1521 IF ( NOGRP .NE. MOGRP .OR. NGRPP .NE. MGRPP ) THEN 1522 WRITE (NDSE,904) MOGRP, MGRPP, NOGRP, NGRPP 1523 CALL EXTCDE ( 22 ) 1524 END IF 1525 IF ( TNAME .NE. GNAME ) THEN 1526 WRITE (NDSE,905) TNAME, GNAME 1527 END IF 1528 IF ( NOSWLL .NE. MOSWLL ) THEN 1529 WRITE (NDSE,906) MOSWLL, NOSWLL 1530 CALL EXTCDE ( 24 ) 1531 END IF 1532 ! 1533 END IF 1534 ! 1535 END IF 1536 ! Page 38 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1537 ! TIME and flags ----------------------------------------------------- * 1538 ! 1539 IF ( WRITE ) THEN 1540 WRITE (NDSOG) TIME, FLOGRD 1541 ELSE 1542 READ (NDSOG,END=803,ERR=802,IOSTAT=IERR) TIME, FLOGRD 1543 END IF 1544 ! 1545 ! MAPSTA ------------------------------------------------------------- * 1546 ! 1547 ALLOCATE ( MAPTMP(NY,NX) ) 1548 IF ( WRITE ) THEN 1549 MAPTMP = MAPSTA + 8*MAPST2 1550 WRITE (NDSOG) & 1551 ((MAPTMP(IY,IX),IX=1,NX),IY=1,NY) 1552 ELSE 1553 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1554 ((MAPTMP(IY,IX),IX=1,NX),IY=1,NY) 1555 MAPSTA = MOD(MAPTMP+2,8) - 2 1556 MAPST2 = (MAPTMP-MAPSTA) / 8 1557 END IF 1558 DEALLOCATE ( MAPTMP ) 1559 ! 1560 ! Fields ---------------------------------------------- * 1561 ! 1562 ! Initialization ---------------------------------------------- * 1563 ! 1564 IF ( WRITE ) THEN 1565 DO ISEA=1, NSEA 1566 IF ( MAPSTA(MAPSF(ISEA,2),MAPSF(ISEA,1)) .LT. 0 ) THEN 1567 ! 1568 IF ( FLOGRD( 2, 2) ) WLM (ISEA) = UNDEF 1569 IF ( FLOGRD( 2, 3) ) T02 (ISEA) = UNDEF 1570 IF ( FLOGRD( 2, 4) ) T0M1 (ISEA) = UNDEF 1571 IF ( FLOGRD( 2, 5) ) T01 (ISEA) = UNDEF 1572 IF ( FLOGRD( 2, 6) ) FP0 (ISEA) = UNDEF 1573 IF ( FLOGRD( 2, 7) ) THM (ISEA) = UNDEF 1574 IF ( FLOGRD( 2, 8) ) THS (ISEA) = UNDEF 1575 IF ( FLOGRD( 2, 9) ) THP0 (ISEA) = UNDEF 1576 UST (ISEA) = UNDEF 1577 USTDIR(ISEA) = UNDEF 1578 ! 1579 IF ( FLOGRD( 3, 1) ) EF (ISEA,:) = UNDEF 1580 IF ( FLOGRD( 3, 2) ) TH1M (ISEA,:) = UNDEF 1581 IF ( FLOGRD( 3, 3) ) STH1M(ISEA,:) = UNDEF 1582 IF ( FLOGRD( 3, 4) ) TH2M (ISEA,:) = UNDEF 1583 IF ( FLOGRD( 3, 5) ) STH2M(ISEA,:) = UNDEF 1584 ! 1585 IF ( FLOGRD( 4, 1) ) PHS (ISEA,:) = UNDEF 1586 IF ( FLOGRD( 4, 2) ) PTP (ISEA,:) = UNDEF 1587 IF ( FLOGRD( 4, 3) ) PLP (ISEA,:) = UNDEF 1588 IF ( FLOGRD( 4, 4) ) PTH (ISEA,:) = UNDEF 1589 IF ( FLOGRD( 4, 5) ) PSI (ISEA,:) = UNDEF 1590 IF ( FLOGRD( 4, 6) ) PWS (ISEA,:) = UNDEF 1591 IF ( FLOGRD( 4, 7) ) PWST(ISEA ) = UNDEF 1592 IF ( FLOGRD( 4, 8) ) PNR (ISEA ) = UNDEF 1593 ! Page 39 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1594 IF ( FLOGRD( 5, 2) ) CHARN (ISEA) = UNDEF 1595 IF ( FLOGRD( 5, 3) ) CGE (ISEA) = UNDEF 1596 IF ( FLOGRD( 5, 4) ) PHIAW (ISEA) = UNDEF 1597 IF ( FLOGRD( 5, 5) ) THEN 1598 TAUWIX(ISEA) = UNDEF 1599 TAUWIY(ISEA) = UNDEF 1600 END IF 1601 IF ( FLOGRD( 5, 6) ) THEN 1602 TAUWNX(ISEA) = UNDEF 1603 TAUWNY(ISEA) = UNDEF 1604 END IF 1605 IF ( FLOGRD( 5, 7) ) WHITECAP(ISEA,1) = UNDEF 1606 IF ( FLOGRD( 5, 8) ) WHITECAP(ISEA,2) = UNDEF 1607 IF ( FLOGRD( 5, 9) ) WHITECAP(ISEA,3) = UNDEF 1608 IF ( FLOGRD( 5,10) ) WHITECAP(ISEA,4) = UNDEF 1609 ! 1610 IF ( FLOGRD( 6, 1) ) THEN 1611 SXX (ISEA) = UNDEF 1612 SYY (ISEA) = UNDEF 1613 SXY (ISEA) = UNDEF 1614 END IF 1615 IF ( FLOGRD( 6, 2) ) THEN 1616 TAUOX (ISEA) = UNDEF 1617 TAUOY (ISEA) = UNDEF 1618 END IF 1619 IF ( FLOGRD( 6, 3) ) BHD(ISEA) = UNDEF 1620 IF ( FLOGRD( 6, 4) ) PHIOC (ISEA) = UNDEF 1621 IF ( FLOGRD( 6, 5) ) THEN 1622 TUSX (ISEA) = UNDEF 1623 TUSY (ISEA) = UNDEF 1624 END IF 1625 IF ( FLOGRD( 6, 6) ) THEN 1626 USSX (ISEA) = UNDEF 1627 USSY (ISEA) = UNDEF 1628 END IF 1629 IF ( FLOGRD( 6, 7) ) THEN 1630 PRMS (ISEA) = UNDEF 1631 TPMS (ISEA) = UNDEF 1632 END IF 1633 IF ( FLOGRD( 6, 8) ) THEN 1634 US3D(ISEA,:) = UNDEF 1635 END IF 1636 IF ( FLOGRD( 6, 9) ) THEN 1637 P2SMS(ISEA,:) = UNDEF 1638 END IF 1639 ! 1640 IF ( FLOGRD( 7, 1) ) THEN 1641 ABA (ISEA) = UNDEF 1642 ABD (ISEA) = UNDEF 1643 END IF 1644 IF ( FLOGRD( 7, 2) ) THEN 1645 UBA (ISEA) = UNDEF 1646 UBD (ISEA) = UNDEF 1647 END IF 1648 IF ( FLOGRD( 7, 3) ) BEDFORMS(ISEA,:) = UNDEF 1649 IF ( FLOGRD( 7, 4) ) PHIBBL(ISEA) = UNDEF 1650 IF ( FLOGRD( 7, 5) ) TAUBBL(ISEA,:) = UNDEF Page 40 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1651 ! 1652 IF ( FLOGRD( 8, 1) ) THEN 1653 MSSX (ISEA) = UNDEF 1654 MSSY (ISEA) = UNDEF 1655 END IF 1656 IF ( FLOGRD( 8, 2) ) THEN 1657 MSCX (ISEA) = UNDEF 1658 MSCY (ISEA) = UNDEF 1659 END IF 1660 ! 1661 IF ( FLOGRD( 9, 1) ) DTDYN (ISEA) = UNDEF 1662 IF ( FLOGRD( 9, 2) ) FCUT (ISEA) = UNDEF 1663 IF ( FLOGRD( 9, 3) ) CFLXYMAX(ISEA) = UNDEF 1664 IF ( FLOGRD( 9, 4) ) CFLTHMAX(ISEA) = UNDEF 1665 IF ( FLOGRD( 9, 5) ) CFLKMAX(ISEA) = UNDEF 1666 ! 1667 END IF 1668 ! 1669 IF ( MAPSTA(MAPSF(ISEA,2),MAPSF(ISEA,1)) .EQ. 2 ) THEN 1670 ! 1671 IF ( FLOGRD( 5, 4) ) PHIAW (ISEA) = UNDEF 1672 IF ( FLOGRD( 5, 5) ) THEN 1673 TAUWIX(ISEA) = UNDEF 1674 TAUWIY(ISEA) = UNDEF 1675 END IF 1676 IF ( FLOGRD( 5, 6) ) THEN 1677 TAUWNX(ISEA) = UNDEF 1678 TAUWNY(ISEA) = UNDEF 1679 END IF 1680 IF ( FLOGRD( 5, 7) ) WHITECAP(ISEA,1) = UNDEF 1681 IF ( FLOGRD( 5, 8) ) WHITECAP(ISEA,2) = UNDEF 1682 IF ( FLOGRD( 5, 9) ) WHITECAP(ISEA,3) = UNDEF 1683 IF ( FLOGRD( 5,10) ) WHITECAP(ISEA,4) = UNDEF 1684 ! 1685 IF ( FLOGRD( 6, 2) )THEN 1686 TAUOX (ISEA) = UNDEF 1687 TAUOY (ISEA) = UNDEF 1688 END IF 1689 IF ( FLOGRD( 6, 4) ) PHIOC (ISEA) = UNDEF 1690 ! 1691 IF ( FLOGRD( 7, 3) ) BEDFORMS(ISEA,:) = UNDEF 1692 IF ( FLOGRD( 7, 4) ) PHIBBL(ISEA) = UNDEF 1693 IF ( FLOGRD( 7, 5) ) TAUBBL(ISEA,:) = UNDEF 1694 ! 1695 END IF 1696 ! 1697 END DO 1698 ! 1699 ELSE 1700 IF (.NOT.DINIT) CALL W3DIMW ( IGRD, NDSE, NDST, .TRUE. ) 1701 IF (.NOT.AINIT) CALL W3DIMA ( IGRD, NDSE, NDST, .TRUE. ) 1702 END IF 1703 ! 1704 ! Actual output ---------------------------------------------- * 1705 DO IFI=1, NOGRP 1706 DO IFJ=1, NGRPP 1707 Page 41 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1708 IF ( FLOGRD(IFI,IFJ) ) THEN 1709 ! 1710 IF ( WRITE ) THEN 1711 ! 1712 ! Section 1) 1713 ! 1714 IF ( IFI .EQ. 1 .AND. IFJ .EQ. 1 ) THEN 1715 WRITE ( NDSOG ) DW(1:NSEA) 1716 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 2 ) THEN 1717 WRITE ( NDSOG ) CX(1:NSEA) 1718 WRITE ( NDSOG ) CY(1:NSEA) 1719 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 3 ) THEN 1720 DO ISEA=1, NSEA 1721 IF (UA(ISEA) .NE.UNDEF) THEN 1722 AUX1(ISEA) = UA(ISEA)*COS(UD(ISEA)) 1723 AUX2(ISEA) = UA(ISEA)*SIN(UD(ISEA)) 1724 ELSE 1725 AUX1(ISEA) = UNDEF 1726 AUX2(ISEA) = UNDEF 1727 END IF 1728 END DO 1729 WRITE ( NDSOG ) AUX1 1730 WRITE ( NDSOG ) AUX2 1731 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 4 ) THEN 1732 WRITE ( NDSOG ) AS(1:NSEA) 1733 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 5 ) THEN 1734 WRITE ( NDSOG ) WLV(1:NSEA) 1735 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 6 ) THEN 1736 WRITE ( NDSOG ) ICE(1:NSEA) 1737 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 7 ) THEN 1738 WRITE ( NDSOG ) BERG(1:NSEA) 1739 ! ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 9 ) THEN 1740 ! WRITE ( NDSOG ) CSHLDN(1:NSEA) 1741 ! ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 10 ) THEN 1742 ! WRITE ( NDSOG ) BRGKN0(1:NSEA) 1743 ! 1744 ! Section 2) 1745 ! 1746 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 1 ) THEN 1747 WRITE ( NDSOG ) HS(1:NSEA) 1748 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 2 ) THEN 1749 WRITE ( NDSOG ) WLM(1:NSEA) 1750 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 3 ) THEN 1751 WRITE ( NDSOG ) T02(1:NSEA) 1752 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 4 ) THEN 1753 WRITE ( NDSOG ) T0M1(1:NSEA) 1754 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 5 ) THEN 1755 WRITE ( NDSOG ) T01(1:NSEA) 1756 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 6 ) THEN 1757 WRITE ( NDSOG ) FP0(1:NSEA) 1758 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 7 ) THEN 1759 WRITE ( NDSOG ) THM(1:NSEA) 1760 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 8 ) THEN 1761 WRITE ( NDSOG ) THS(1:NSEA) 1762 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 9 ) THEN 1763 WRITE ( NDSOG ) THP0(1:NSEA) 1764 ! Page 42 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1765 ! Section 3) 1766 ! 1767 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 1 ) THEN 1768 WRITE ( NDSOG ) EF (1:NSEA,E3DF(2,1):E3DF(3,1)) 1769 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 2 ) THEN 1770 WRITE ( NDSOG ) TH1M (1:NSEA,E3DF(2,2):E3DF(3,2)) 1771 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 3 ) THEN 1772 WRITE ( NDSOG ) STH1M(1:NSEA,E3DF(2,3):E3DF(3,3)) 1773 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 4 ) THEN 1774 WRITE ( NDSOG ) TH2M (1:NSEA,E3DF(2,4):E3DF(3,4)) 1775 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 5 ) THEN 1776 WRITE ( NDSOG ) STH2M(1:NSEA,E3DF(2,5):E3DF(3,5)) 1777 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 6 ) THEN 1778 WRITE ( NDSOG ) WN(1:NK,1:NSEA) 1779 ! 1780 ! Section 4) 1781 ! 1782 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 1 ) THEN 1783 WRITE ( NDSOG ) PHS(1:NSEA,0:NOSWLL) 1784 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 2 ) THEN 1785 WRITE ( NDSOG ) PTP(1:NSEA,0:NOSWLL) 1786 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 3 ) THEN 1787 WRITE ( NDSOG ) PLP(1:NSEA,0:NOSWLL) 1788 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 4 ) THEN 1789 WRITE ( NDSOG ) PTH(1:NSEA,0:NOSWLL) 1790 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 5 ) THEN 1791 WRITE ( NDSOG ) PSI(1:NSEA,0:NOSWLL) 1792 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 6 ) THEN 1793 WRITE ( NDSOG ) PWS(1:NSEA,0:NOSWLL) 1794 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 7 ) THEN 1795 WRITE ( NDSOG ) PWST(1:NSEA) 1796 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 8 ) THEN 1797 WRITE ( NDSOG ) PNR(1:NSEA) 1798 ! 1799 ! Section 5) 1800 ! 1801 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 1 ) THEN 1802 DO ISEA=1, NSEA 1803 IX = MAPSF(ISEA,1) 1804 IY = MAPSF(ISEA,2) 1805 IF ( MAPSTA(IY,IX) .EQ. 1 ) THEN 1806 AUX1(ISEA) = UST(ISEA) * ASF(ISEA) * & 1807 COS(USTDIR(ISEA)) 1808 AUX2(ISEA) = UST(ISEA) * ASF(ISEA) * & 1809 SIN(USTDIR(ISEA)) 1810 ELSE 1811 AUX1(ISEA) = UNDEF 1812 AUX2(ISEA) = UNDEF 1813 END IF 1814 END DO 1815 WRITE ( NDSOG ) AUX1 1816 WRITE ( NDSOG ) AUX2 1817 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 2 ) THEN 1818 WRITE ( NDSOG ) CHARN(1:NSEA) 1819 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 3 ) THEN 1820 WRITE ( NDSOG ) CGE(1:NSEA) 1821 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 4 ) THEN Page 43 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1822 WRITE ( NDSOG ) PHIAW(1:NSEA) 1823 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 5 ) THEN 1824 WRITE ( NDSOG ) TAUWIX(1:NSEA) 1825 WRITE ( NDSOG ) TAUWIY(1:NSEA) 1826 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 6 ) THEN 1827 WRITE ( NDSOG ) TAUWNX(1:NSEA) 1828 WRITE ( NDSOG ) TAUWNY(1:NSEA) 1829 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 7 ) THEN 1830 WRITE ( NDSOG ) WHITECAP(1:NSEA,1) 1831 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 8 ) THEN 1832 WRITE ( NDSOG ) WHITECAP(1:NSEA,2) 1833 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 9 ) THEN 1834 WRITE ( NDSOG ) WHITECAP(1:NSEA,3) 1835 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 10 ) THEN 1836 WRITE ( NDSOG ) WHITECAP(1:NSEA,4) 1837 ! 1838 ! Section 6) 1839 ! 1840 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 1 ) THEN 1841 WRITE ( NDSOG ) SXX(1:NSEA) 1842 WRITE ( NDSOG ) SYY(1:NSEA) 1843 WRITE ( NDSOG ) SXY(1:NSEA) 1844 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 2 ) THEN 1845 WRITE ( NDSOG ) TAUOX(1:NSEA) 1846 WRITE ( NDSOG ) TAUOY(1:NSEA) 1847 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 3 ) THEN 1848 WRITE ( NDSOG ) BHD(1:NSEA) 1849 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 4 ) THEN 1850 WRITE ( NDSOG ) PHIOC(1:NSEA) 1851 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 5 ) THEN 1852 WRITE ( NDSOG ) TUSX(1:NSEA) 1853 WRITE ( NDSOG ) TUSY(1:NSEA) 1854 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 6 ) THEN 1855 WRITE ( NDSOG ) USSX(1:NSEA) 1856 WRITE ( NDSOG ) USSY(1:NSEA) 1857 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 7 ) THEN 1858 WRITE ( NDSOG ) PRMS(1:NSEA) 1859 WRITE ( NDSOG ) TPMS(1:NSEA) 1860 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 8 ) THEN 1861 WRITE ( NDSOG ) US3D(1:NSEA, US3DF(2):US3DF(3)) 1862 WRITE ( NDSOG ) US3D(1:NSEA,NK+US3DF(2):NK+US3DF(3)) 1863 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 9 ) THEN 1864 WRITE ( NDSOG ) P2SMS(1:NSEA,P2MSF(2):P2MSF(3)) 1865 ! 1866 ! Section 7) 1867 ! 1868 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 1 ) THEN 1869 DO ISEA=1, NSEA 1870 IF ( ABA(ISEA) .NE. UNDEF ) THEN 1871 AUX1(ISEA) = ABA(ISEA)*COS(ABD(ISEA)) 1872 AUX2(ISEA) = ABA(ISEA)*SIN(ABD(ISEA)) 1873 ELSE 1874 AUX1(ISEA) = UNDEF 1875 AUX2(ISEA) = UNDEF 1876 END IF 1877 END DO 1878 WRITE ( NDSOG ) AUX1 Page 44 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1879 WRITE ( NDSOG ) AUX2 1880 !WRITE ( NDSOG ) ABA(1:NSEA) 1881 !WRITE ( NDSOG ) ABD(1:NSEA) 1882 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 2 ) THEN 1883 DO ISEA=1, NSEA 1884 IF ( ABA(ISEA) .NE. UNDEF ) THEN 1885 AUX1(ISEA) = UBA(ISEA)*COS(UBD(ISEA)) 1886 AUX2(ISEA) = UBA(ISEA)*SIN(UBD(ISEA)) 1887 ELSE 1888 AUX1(ISEA) = UNDEF 1889 AUX2(ISEA) = UNDEF 1890 END IF 1891 END DO 1892 WRITE ( NDSOG ) AUX1 1893 WRITE ( NDSOG ) AUX2 1894 ! WRITE ( NDSOG ) UBA(1:NSEA) 1895 ! WRITE ( NDSOG ) UBD(1:NSEA) 1896 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 3 ) THEN 1897 WRITE ( NDSOG ) BEDFORMS(1:NSEA,1) 1898 WRITE ( NDSOG ) BEDFORMS(1:NSEA,2) 1899 WRITE ( NDSOG ) BEDFORMS(1:NSEA,3) 1900 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 4 ) THEN 1901 WRITE ( NDSOG ) PHIBBL(1:NSEA) 1902 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 5 ) THEN 1903 WRITE ( NDSOG ) TAUBBL(1:NSEA,1) 1904 WRITE ( NDSOG ) TAUBBL(1:NSEA,2) 1905 ! 1906 ! Section 8) 1907 ! 1908 ELSE IF ( IFI .EQ. 8 .AND. IFJ .EQ. 1 ) THEN 1909 WRITE ( NDSOG ) MSSX(1:NSEA) 1910 WRITE ( NDSOG ) MSSY(1:NSEA) 1911 ELSE IF ( IFI .EQ. 8 .AND. IFJ .EQ. 2 ) THEN 1912 WRITE ( NDSOG ) MSCX(1:NSEA) 1913 WRITE ( NDSOG ) MSCY(1:NSEA) 1914 ! 1915 ! Section 9) 1916 ! 1917 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 1 ) THEN 1918 WRITE ( NDSOG ) DTDYN(1:NSEA) 1919 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 2 ) THEN 1920 WRITE ( NDSOG ) FCUT(1:NSEA) 1921 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 3 ) THEN 1922 WRITE ( NDSOG ) CFLXYMAX(1:NSEA) 1923 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 4 ) THEN 1924 WRITE ( NDSOG ) CFLTHMAX(1:NSEA) 1925 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 5 ) THEN 1926 WRITE ( NDSOG ) CFLKMAX(1:NSEA) 1927 ! 1928 ! Section 10) 1929 ! 1930 ELSE IF ( IFI .EQ. 10 ) THEN 1931 WRITE ( NDSOG ) USERO(1:NSEA,IFJ) 1932 ! 1933 END IF 1934 ! 1935 ELSE Page 45 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1936 ! 1937 ! Start of reading ...... 1938 ! 1939 ! Section 1) 1940 ! 1941 IF ( IFI .EQ. 1 .AND. IFJ .EQ. 1 ) THEN 1942 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) DW(1:NSEA) 1943 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 2 ) THEN 1944 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) CX(1:NSEA) 1945 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) CY(1:NSEA) 1946 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 3 ) THEN 1947 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) UA(1:NSEA) 1948 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) UD(1:NSEA) 1949 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 4 ) THEN 1950 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) AS(1:NSEA) 1951 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 5 ) THEN 1952 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) WLV(1:NSEA) 1953 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 6 ) THEN 1954 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) ICE(1:NSEA) 1955 ELSE IF ( IFI .EQ. 1 .AND. IFJ .EQ. 7 ) THEN 1956 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) BERG(1:NSEA) 1957 ! 1958 ! Section 2) 1959 ! 1960 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 1 ) THEN 1961 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) HS(1:NSEA) 1962 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 2 ) THEN 1963 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) WLM(1:NSEA) 1964 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 3 ) THEN 1965 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) T02(1:NSEA) 1966 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 4 ) THEN 1967 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) T0M1(1:NSEA) 1968 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 5 ) THEN 1969 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) T01(1:NSEA) 1970 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 6 ) THEN 1971 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) FP0(1:NSEA) 1972 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 7 ) THEN 1973 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) THM(1:NSEA) 1974 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 8 ) THEN 1975 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) THS(1:NSEA) 1976 ELSE IF ( IFI .EQ. 2 .AND. IFJ .EQ. 9 ) THEN 1977 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1978 THP0(1:NSEA) 1979 ! 1980 ! Section 3) 1981 ! 1982 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 1 ) THEN 1983 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1984 EF (1:NSEA,E3DF(2,1):E3DF(3,1)) 1985 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 2 ) THEN 1986 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1987 TH1M (1:NSEA,E3DF(2,2):E3DF(3,2)) 1988 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 3 ) THEN 1989 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1990 STH1M(1:NSEA,E3DF(2,3):E3DF(3,3)) 1991 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 4 ) THEN 1992 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & Page 46 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 1993 TH2M (1:NSEA,E3DF(2,4):E3DF(3,4)) 1994 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 5 ) THEN 1995 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1996 STH2M(1:NSEA,E3DF(2,5):E3DF(3,5)) 1997 ELSE IF ( IFI .EQ. 3 .AND. IFJ .EQ. 6 ) THEN 1998 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 1999 WN(1:NK,1:NSEA) 2000 ! 2001 ! Section 4) 2002 ! 2003 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 1 ) THEN 2004 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2005 PHS(1:NSEA,0:NOSWLL) 2006 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 2 ) THEN 2007 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2008 PTP(1:NSEA,0:NOSWLL) 2009 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 3 ) THEN 2010 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2011 PLP(1:NSEA,0:NOSWLL) 2012 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 4 ) THEN 2013 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2014 PTH(1:NSEA,0:NOSWLL) 2015 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 5 ) THEN 2016 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2017 PSI(1:NSEA,0:NOSWLL) 2018 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 6 ) THEN 2019 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2020 PWS(1:NSEA,0:NOSWLL) 2021 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 7 ) THEN 2022 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2023 PWST(1:NSEA) 2024 ELSE IF ( IFI .EQ. 4 .AND. IFJ .EQ. 8 ) THEN 2025 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) PNR(1:NSEA) 2026 ! 2027 ! Section 5) 2028 ! 2029 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 1 ) THEN 2030 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2031 UST(1:NSEA) 2032 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2033 USTDIR(1:NSEA) 2034 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 2 ) THEN 2035 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2036 CHARN(1:NSEA) 2037 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 3 ) THEN 2038 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) CGE(1:NSEA) 2039 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 4 ) THEN 2040 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2041 PHIAW(1:NSEA) 2042 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 5 ) THEN 2043 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2044 TAUWIX(1:NSEA) 2045 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2046 TAUWIY(1:NSEA) 2047 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 6 ) THEN 2048 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2049 TAUWNX(1:NSEA) Page 47 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 2050 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2051 TAUWNY(1:NSEA) 2052 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 7 ) THEN 2053 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2054 WHITECAP(1:NSEA,1) 2055 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 8 ) THEN 2056 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2057 WHITECAP(1:NSEA,2) 2058 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 9 ) THEN 2059 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2060 WHITECAP(1:NSEA,3) 2061 ELSE IF ( IFI .EQ. 5 .AND. IFJ .EQ. 10 ) THEN 2062 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2063 WHITECAP(1:NSEA,4) 2064 ! 2065 ! Section 6) 2066 ! 2067 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 1 ) THEN 2068 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) SXX(1:NSEA) 2069 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) SYY(1:NSEA) 2070 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) SXY(1:NSEA) 2071 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 2 ) THEN 2072 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2073 TAUOX(1:NSEA) 2074 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2075 TAUOY(1:NSEA) 2076 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 3 ) THEN 2077 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2078 BHD(1:NSEA) 2079 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 4 ) THEN 2080 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2081 PHIOC(1:NSEA) 2082 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 5 ) THEN 2083 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2084 TUSX(1:NSEA) 2085 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2086 TUSY(1:NSEA) 2087 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 6 ) THEN 2088 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2089 USSX(1:NSEA) 2090 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2091 USSY(1:NSEA) 2092 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 7 ) THEN 2093 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2094 PRMS(1:NSEA) 2095 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2096 TPMS(1:NSEA) 2097 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 8 ) THEN 2098 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2099 US3D(1:NSEA,US3DF(2):US3DF(3)) 2100 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2101 US3D(1:NSEA,NK+US3DF(2):NK+US3DF(3)) 2102 ELSE IF ( IFI .EQ. 6 .AND. IFJ .EQ. 9 ) THEN 2103 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2104 P2SMS(1:NSEA,P2MSF(2):P2MSF(3)) 2105 ! 2106 ! Section 7) Page 48 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 2107 ! 2108 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 1 ) THEN 2109 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) ABA(1:NSEA) 2110 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) ABD(1:NSEA) 2111 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 2 ) THEN 2112 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) UBA(1:NSEA) 2113 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) UBD(1:NSEA) 2114 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 3 ) THEN 2115 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2116 BEDFORMS(1:NSEA,1) 2117 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2118 BEDFORMS(1:NSEA,2) 2119 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2120 BEDFORMS(1:NSEA,3) 2121 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 4 ) THEN 2122 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2123 PHIBBL(1:NSEA) 2124 ELSE IF ( IFI .EQ. 7 .AND. IFJ .EQ. 5 ) THEN 2125 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2126 TAUBBL(1:NSEA,1) 2127 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2128 TAUBBL(1:NSEA,2) 2129 ! 2130 ! Section 8) 2131 ! 2132 ELSE IF ( IFI .EQ. 8 .AND. IFJ .EQ. 1 ) THEN 2133 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2134 MSSX(1:NSEA) 2135 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2136 MSSY(1:NSEA) 2137 ELSE IF ( IFI .EQ. 8 .AND. IFJ .EQ. 2 ) THEN 2138 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2139 MSCX(1:NSEA) 2140 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2141 MSCY(1:NSEA) 2142 ! 2143 ! Section 9) 2144 ! 2145 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 1 ) THEN 2146 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2147 DTDYN(1:NSEA) 2148 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 2 ) THEN 2149 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2150 FCUT(1:NSEA) 2151 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 3 ) THEN 2152 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2153 CFLXYMAX(1:NSEA) 2154 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 4 ) THEN 2155 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2156 CFLTHMAX(1:NSEA) 2157 ELSE IF ( IFI .EQ. 9 .AND. IFJ .EQ. 5 ) THEN 2158 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2159 CFLKMAX(1:NSEA) 2160 ! 2161 ! Section 10) 2162 ! 2163 ELSE IF ( IFI .EQ. 10 ) THEN Page 49 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 2164 READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) & 2165 USERO(1:NSEA,IFJ) 2166 END IF 2167 ! 2168 ! End of test on WRITE/READ: 2169 ! 2170 END IF 2171 ! 2172 ! End of test on FLOGRD(IFI,IFJ): 2173 ! 2174 END IF 2175 ! 2176 ! End of IFI and IFJ loops 2177 ! 2178 END DO 2179 END DO 2180 ! 2181 ! Flush the buffers for write 2182 ! 2183 IF ( WRITE ) CALL FLUSH ( NDSOG ) 2184 ! 2185 RETURN 2186 ! 2187 ! Escape locations read errors 2188 ! 2189 800 CONTINUE 2190 WRITE (NDSE,1000) IERR 2191 CALL EXTCDE ( 41 ) 2192 ! 2193 801 CONTINUE 2194 WRITE (NDSE,1001) 2195 CALL EXTCDE ( 42 ) 2196 ! 2197 802 CONTINUE 2198 WRITE (NDSE,1002) IERR 2199 CALL EXTCDE ( 43 ) 2200 ! 2201 803 CONTINUE 2202 IOTST = -1 2203 RETURN 2204 ! 2205 ! Formats 2206 ! 2207 900 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2208 ' ILEGAL INXOUT VALUE: ',A/) 2209 901 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2210 ' MIXED READ/WRITE, LAST REQUEST: ',A/) 2211 902 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2212 ' ILEGAL IDSTR, READ : ',A/ & 2213 ' CHECK : ',A/) 2214 903 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2215 ' ILEGAL VEROGR, READ : ',A/ & 2216 ' CHECK : ',A/) 2217 904 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2218 ' DIFFERENT NUMBER OF FIELDS, FILE :',I8,I8/ & 2219 ' PROGRAM :',I8,I8/) 2220 905 FORMAT (/' *** WAVEWATCH III WARNING IN W3IOGO :'/ & Page 50 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 2221 ' ILEGAL GNAME, READ : ',A/ & 2222 ' CHECK : ',A/) 2223 906 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2224 ' ILEGAL NOSWLL, READ : ',I4/ & 2225 ' CHECK : ',I4/) 2226 ! 2227 ! 999 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO :'/ & 2228 ! ' PLEASE UPDATE FIELDS !!! '/) 2229 ! 2230 1000 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO : '/ & 2231 ' ERROR IN OPENING FILE'/ & 2232 ' IOSTAT =',I5/) 2233 1001 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO : '/ & 2234 ' PREMATURE END OF FILE'/) 2235 1002 FORMAT (/' *** WAVEWATCH III ERROR IN W3IOGO : '/ & 2236 ' ERROR IN READING FROM FILE'/ & 2237 ' IOSTAT =',I5/) 2238 ! 2239 !/ 2240 !/ End of W3IOGO ----------------------------------------------------- / 2241 !/ 2242 END SUBROUTINE W3IOGO ENTRY POINTS Name w3iogomd_mp_w3iogo_ Page 51 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1000 Label 2230 2190 1001 Label 2233 2194 1002 Label 2235 2198 800 Label 2189 1493,1496 801 Label 2193 1509,1553,1942,1944,1945,1947,1948 ,1950,1952,1954,1956,1961,1963,196 5,1967,1969,1971,1973,1975,1977,19 83,1986,1989,1992,1995,1998,2004,2 007,2010,2013,2016,2019,2022,2025, 2030,2032,2035,2038,2040,2043,2045 ,2048,2050,2053,2056,2059,2062,206 8,2069,2070,2072,2074,2077,2080,20 83,2085,2088,2090,2093,2095,2098,2 100,2103,2109,2110,2112,2113,2115, 2117,2119,2122,2125,2127,2133,2135 ,2138,2140,2146,2149,2152,2155,215 8,2164 802 Label 2197 1509,1542,1553,1942,1944,1945,1947 ,1948,1950,1952,1954,1956,1961,196 3,1965,1967,1969,1971,1973,1975,19 77,1983,1986,1989,1992,1995,1998,2 004,2007,2010,2013,2016,2019,2022, 2025,2030,2032,2035,2038,2040,2043 ,2045,2048,2050,2053,2056,2059,206 2,2068,2069,2070,2072,2074,2077,20 80,2083,2085,2088,2090,2093,2095,2 098,2100,2103,2109,2110,2112,2113, 2115,2117,2119,2122,2125,2127,2133 ,2135,2138,2140,2146,2149,2152,215 5,2158,2164 803 Label 2201 1542 900 Label 2207 1470 901 Label 2209 1478 902 Label 2211 1514 903 Label 2214 1518 904 Label 2217 1522 905 Label 2220 1526 906 Label 2223 1529 ABA Local 1414 R(4) 4 1 1 PTR 1414,1641,1870,1871,1872,1884,2109 ABD Local 1414 R(4) 4 1 1 PTR 1414,1642,1871,1872,2110 AINIT Local 1411 L(4) 4 scalar PTR 1411,1701 AS Local 1411 R(4) 4 1 1 PTR 1411,1732,1950 ASF Local 1410 R(4) 4 1 1 PTR 1410,1806,1808 AUX1 Local 1445 R(4) 4 1 0 1722,1725,1729,1806,1811,1815,1871 ,1874,1878,1885,1888,1892 AUX2 Local 1445 R(4) 4 1 0 1723,1726,1730,1808,1812,1816,1872 ,1875,1879,1886,1889,1893 AUX3 Local 1446 R(4) 4 1 0 AUX4 Local 1446 R(4) 4 1 0 BEDFORMS Local 1420 R(4) 4 2 1 PTR 1420,1648,1691,1897,1898,1899,2116 ,2118,2120 Page 52 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References BERG Local 1410 R(4) 4 1 1 PTR 1410,1738,1956 BHD Local 1419 R(4) 4 1 1 PTR 1419,1619,1848,2078 CFLKMAX Local 1421 R(4) 4 1 1 PTR 1421,1665,1926,2159 CFLTHMAX Local 1421 R(4) 4 1 1 PTR 1421,1664,1924,2156 CFLXYMAX Local 1421 R(4) 4 1 1 PTR 1421,1663,1922,2153 CGE Local 1420 R(4) 4 1 1 PTR 1420,1595,1820,2038 CHARN Local 1419 R(4) 4 1 1 PTR 1419,1594,1818,2036 CONSTANTS Module 1403 1403 COS Func 1722 scalar 1722,1807,1871,1885 CX Local 1411 R(4) 4 1 1 PTR 1411,1717,1944 CY Local 1411 R(4) 4 1 1 PTR 1411,1718,1945 DINIT Local 1410 L(4) 4 scalar PTR 1410,1700 DTDYN Local 1413 R(4) 4 1 1 PTR 1413,1661,1918,2147 DW Local 1411 R(4) 4 1 1 PTR 1411,1715,1942 E3DF Local 1768 I(4) 4 2 1 PTR 1768,1770,1772,1774,1776,1984,1987 ,1990,1993,1996 EF Local 1421 R(4) 4 2 1 PTR 1421,1579,1768,1984 EXTCDE Subr 1427 1427,1471,1479,1515,1519,1523,1530 ,2191,2195,2199 FCUT Local 1414 R(4) 4 1 1 PTR 1414,1662,1920,2150 FILEXT Local 1488 CHAR 10 scalar PTR 1488,1492,1495 FLOGRD Local 1424 L(4) 4 2 1 PTR 1424,1540,1542,1568,1569,1570,1571 ,1572,1573,1574,1575,1579,1580,158 1,1582,1583,1585,1586,1587,1588,15 89,1590,1591,1592,1594,1595,1596,1 597,1601,1605,1606,1607,1608,1610, 1615,1619,1620,1621,1625,1629,1633 ,1636,1640,1644,1648,1649,1650,165 2,1656,1661,1662,1663,1664,1665,16 71,1672,1676,1680,1681,1682,1683,1 685,1689,1691,1692,1693,1708 FLUSH Subr 2183 2183 FNMPRE Local 1425 CHAR 80 scalar 1425,1489,1492,1495 FP0 Local 1412 R(4) 4 1 1 PTR 1412,1572,1757,1971 FP1 Local 1413 R(4) 4 1 1 PTR 1413 GNAME Local 1506 CHAR 30 scalar PTR 1506,1525,1526 HS Local 1412 R(4) 4 1 1 PTR 1412,1747,1961 I Local 1442 I(4) 4 scalar 1488,1492,1495 ICE Local 1410 R(4) 4 1 1 PTR 1410,1736,1954 IDOUT Local 1423 CHAR 20 2 200 1423 IDSTR Param 1506 CHAR 30 scalar PRIV 125,1506,1513,1514 IDTST Local 1447 CHAR 30 scalar 1510,1513,1514 IERR Local 1442 I(4) 4 scalar 1493,1496,1509,1542,1553,1942,1944 ,1945,1947,1948,1950,1952,1954,195 6,1961,1963,1965,1967,1969,1971,19 73,1975,1977,1983,1986,1989,1992,1 995,1998,2004,2007,2010,2013,2016, 2019,2022,2025,2030,2032,2035,2038 ,2040,2043,2045,2048,2050,2053,205 6,2059,2062,2068,2069,2070,2072,20 74,2077,2080,2083,2085,2088,2090,2 093,2095,2098,2100,2103,2109,2110, 2112,2113,2115,2117,2119,2122,2125 ,2127,2133,2135,2138,2140,2146,214 9,2152,2155,2158,2164,2190,2198 Page 53 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References IFI Local 1443 I(4) 4 scalar 1705,1708,1714,1716,1719,1731,1733 ,1735,1737,1746,1748,1750,1752,175 4,1756,1758,1760,1762,1767,1769,17 71,1773,1775,1777,1782,1784,1786,1 788,1790,1792,1794,1796,1801,1817, 1819,1821,1823,1826,1829,1831,1833 ,1835,1840,1844,1847,1849,1851,185 4,1857,1860,1863,1868,1882,1896,19 00,1902,1908,1911,1917,1919,1921,1 923,1925,1930,1941,1943,1946,1949, 1951,1953,1955,1960,1962,1964,1966 ,1968,1970,1972,1974,1976,1982,198 5,1988,1991,1994,1997,2003,2006,20 09,2012,2015,2018,2021,2024,2029,2 034,2037,2039,2042,2047,2052,2055, 2058,2061,2067,2071,2076,2079,2082 ,2087,2092,2097,2102,2108,2111,211 4,2121,2124,2132,2137,2145,2148,21 51,2154,2157,2163 IFJ Local 1443 I(4) 4 scalar 1706,1708,1714,1716,1719,1731,1733 ,1735,1737,1746,1748,1750,1752,175 4,1756,1758,1760,1762,1767,1769,17 71,1773,1775,1777,1782,1784,1786,1 788,1790,1792,1794,1796,1801,1817, 1819,1821,1823,1826,1829,1831,1833 ,1835,1840,1844,1847,1849,1851,185 4,1857,1860,1863,1868,1882,1896,19 00,1902,1908,1911,1917,1919,1921,1 923,1925,1931,1941,1943,1946,1949, 1951,1953,1955,1960,1962,1964,1966 ,1968,1970,1972,1974,1976,1982,198 5,1988,1991,1994,1997,2003,2006,20 09,2012,2015,2018,2021,2024,2029,2 034,2037,2039,2042,2047,2052,2055, 2058,2061,2067,2071,2076,2079,2082 ,2087,2092,2097,2102,2108,2111,211 4,2121,2124,2132,2137,2145,2148,21 51,2154,2157,2165 IGRD Local 1442 I(4) 4 scalar 1456,1458,1461,1462,1463,1464,1700 ,1701 IK Local 1443 I(4) 4 scalar IMOD Dummy 1196 I(4) 4 scalar ARG,IN 1455,1456 INXOUT Dummy 1196 CHAR scalar ARG,IN 1469,1470,1475,1477,1478 IOTST Dummy 1196 I(4) 4 scalar ARG,INOUT 1467,2202 IPASS Local 1424 I(4) 4 scalar PTR 1466,1474,1486 ISEA Local 1443 I(4) 4 scalar 1565,1566,1568,1569,1570,1571,1572 ,1573,1574,1575,1576,1577,1579,158 0,1581,1582,1583,1585,1586,1587,15 88,1589,1590,1591,1592,1594,1595,1 596,1598,1599,1602,1603,1605,1606, 1607,1608,1611,1612,1613,1616,1617 ,1619,1620,1622,1623,1626,1627,163 0,1631,1634,1637,1641,1642,1645,16 46,1648,1649,1650,1653,1654,1657,1 658,1661,1662,1663,1664,1665,1669, Page 54 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 1671,1673,1674,1677,1678,1680,1681 ,1682,1683,1686,1687,1689,1691,169 2,1693,1720,1721,1722,1723,1725,17 26,1802,1803,1804,1806,1807,1808,1 809,1811,1812,1869,1870,1871,1872, 1874,1875,1883,1884,1885,1886,1888 ,1889 IX Local 1442 I(4) 4 scalar 1551,1554,1803,1805 IY Local 1442 I(4) 4 scalar 1551,1554,1804,1805 J Local 1442 I(4) 4 scalar 1489,1492,1495 LEN_TRIM Func 1488 scalar 1488,1489 MAPSF Local 1566 I(4) 4 2 1 PTR 1566,1669,1803,1804 MAPST2 Local 1549 I(4) 4 2 1 PTR 1549,1556 MAPSTA Local 1549 I(4) 4 2 1 PTR 1549,1555,1556,1566,1669,1805 MAPTMP Local 1444 I(4) 4 2 1 ALC 1547,1549,1551,1554,1555,1556,1558 MGRPP Local 1443 I(4) 4 scalar 1510,1521,1522 MOD Func 1555 scalar 1555 MOGRP Local 1442 I(4) 4 scalar 1510,1521,1522 MOSWLL Local 1443 I(4) 4 scalar 1511,1528,1529 MSCX Local 1418 R(4) 4 1 1 PTR 1418,1657,1912,2139 MSCY Local 1418 R(4) 4 1 1 PTR 1418,1658,1913,2141 MSSX Local 1418 R(4) 4 1 1 PTR 1418,1653,1909,2134 MSSY Local 1418 R(4) 4 1 1 PTR 1418,1654,1910,2136 NDSE Local 1423 I(4) 4 scalar PTR 1423,1461,1462,1463,1464,1470,1478 ,1514,1518,1522,1526,1529,1700,170 1,2190,2194,2198 NDSOG Dummy 1196 I(4) 4 scalar ARG,IN 1492,1495,1499,1505,1509,1540,1542 ,1550,1553,1715,1717,1718,1729,173 0,1732,1734,1736,1738,1747,1749,17 51,1753,1755,1757,1759,1761,1763,1 768,1770,1772,1774,1776,1778,1783, 1785,1787,1789,1791,1793,1795,1797 ,1815,1816,1818,1820,1822,1824,182 5,1827,1828,1830,1832,1834,1836,18 41,1842,1843,1845,1846,1848,1850,1 852,1853,1855,1856,1858,1859,1861, 1862,1864,1878,1879,1892,1893,1897 ,1898,1899,1901,1903,1904,1909,191 0,1912,1913,1918,1920,1922,1924,19 26,1931,1942,1944,1945,1947,1948,1 950,1952,1954,1956,1961,1963,1965, 1967,1969,1971,1973,1975,1977,1983 ,1986,1989,1992,1995,1998,2004,200 7,2010,2013,2016,2019,2022,2025,20 30,2032,2035,2038,2040,2043,2045,2 048,2050,2053,2056,2059,2062,2068, 2069,2070,2072,2074,2077,2080,2083 ,2085,2088,2090,2093,2095,2098,210 0,2103,2109,2110,2112,2113,2115,21 17,2119,2122,2125,2127,2133,2135,2 138,2140,2146,2149,2152,2155,2158, 2164,2183 NDST Local 1423 I(4) 4 scalar PTR 1423,1461,1462,1463,1464,1700,1701 NGRPP Param 1423 I(4) 4 scalar 1423,1506,1521,1522,1706 NK Local 1778 I(4) 4 scalar PTR 1778,1862,1999,2101 Page 55 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References NOEXTR Param 1425 I(4) 4 scalar 1425 NOGRP Param 1423 I(4) 4 scalar 1423,1506,1521,1522,1705 NOSWLL Local 1425 I(4) 4 scalar PTR 1425,1507,1528,1529,1783,1785,1787 ,1789,1791,1793,2005,2008,2011,201 4,2017,2020 NSEA Local 1445 I(4) 4 scalar PTR 1445,1446,1506,1510,1565,1715,1717 ,1718,1720,1732,1734,1736,1738,174 7,1749,1751,1753,1755,1757,1759,17 61,1763,1768,1770,1772,1774,1776,1 778,1783,1785,1787,1789,1791,1793, 1795,1797,1802,1818,1820,1822,1824 ,1825,1827,1828,1830,1832,1834,183 6,1841,1842,1843,1845,1846,1848,18 50,1852,1853,1855,1856,1858,1859,1 861,1862,1864,1869,1883,1897,1898, 1899,1901,1903,1904,1909,1910,1912 ,1913,1918,1920,1922,1924,1926,193 1,1942,1944,1945,1947,1948,1950,19 52,1954,1956,1961,1963,1965,1967,1 969,1971,1973,1975,1978,1984,1987, 1990,1993,1996,1999,2005,2008,2011 ,2014,2017,2020,2023,2025,2031,203 3,2036,2038,2041,2044,2046,2049,20 51,2054,2057,2060,2063,2068,2069,2 070,2073,2075,2078,2081,2084,2086, 2089,2091,2094,2096,2099,2101,2104 ,2109,2110,2112,2113,2116,2118,212 0,2123,2126,2128,2134,2136,2139,21 41,2147,2150,2153,2156,2159,2165 NX Local 1506 I(4) 4 scalar PTR 1506,1510,1547,1551,1554 NY Local 1506 I(4) 4 scalar PTR 1506,1510,1547,1551,1554 P2MSF Local 1864 I(4) 4 1 1 PTR 1864,2104 P2SMS Local 1421 R(4) 4 2 1 PTR 1421,1637,1864,2104 PHIAW Local 1417 R(4) 4 1 1 PTR 1417,1596,1671,1822,2041 PHIBBL Local 1420 R(4) 4 1 1 PTR 1420,1649,1692,1901,2123 PHIOC Local 1417 R(4) 4 1 1 PTR 1417,1620,1689,1850,2081 PHS Local 1415 R(4) 4 2 1 PTR 1415,1585,1783,2005 PLP Local 1415 R(4) 4 2 1 PTR 1415,1587,1787,2011 PNR Local 1415 R(4) 4 1 1 PTR 1415,1592,1797,2025 PRESENT Func 1455 scalar 1455 PRMS Local 1417 R(4) 4 1 1 PTR 1417,1630,1858,2094 PSI Local 1415 R(4) 4 2 1 PTR 1415,1589,1791,2017 PTH Local 1415 R(4) 4 2 1 PTR 1415,1588,1789,2014 PTP Local 1415 R(4) 4 2 1 PTR 1415,1586,1785,2008 PWS Local 1415 R(4) 4 2 1 PTR 1415,1590,1793,2020 PWST Local 1415 R(4) 4 1 1 PTR 1415,1591,1795,2023 SIN Func 1723 scalar 1723,1809,1872,1886 STH1M Local 1422 R(4) 4 2 1 PTR 1422,1581,1772,1990 STH2M Local 1422 R(4) 4 2 1 PTR 1422,1583,1776,1996 SXX Local 1414 R(4) 4 1 1 PTR 1414,1611,1841,2068 SXY Local 1414 R(4) 4 1 1 PTR 1414,1613,1843,2070 SYY Local 1414 R(4) 4 1 1 PTR 1414,1612,1842,2069 T01 Local 1412 R(4) 4 1 1 PTR 1412,1571,1755,1969 T02 Local 1412 R(4) 4 1 1 PTR 1412,1569,1751,1965 T0M1 Local 1412 R(4) 4 1 1 PTR 1412,1570,1753,1967 Page 56 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References TAUBBL Local 1420 R(4) 4 2 1 PTR 1420,1650,1693,1903,1904,2126,2128 TAUOX Local 1416 R(4) 4 1 1 PTR 1416,1616,1686,1845,2073 TAUOY Local 1416 R(4) 4 1 1 PTR 1416,1617,1687,1846,2075 TAUWIX Local 1416 R(4) 4 1 1 PTR 1416,1598,1673,1824,2044 TAUWIY Local 1416 R(4) 4 1 1 PTR 1416,1599,1674,1825,2046 TAUWNX Local 1419 R(4) 4 1 1 PTR 1419,1602,1677,1827,2049 TAUWNY Local 1419 R(4) 4 1 1 PTR 1419,1603,1678,1828,2051 TH1M Local 1422 R(4) 4 2 1 PTR 1422,1580,1770,1987 TH2M Local 1422 R(4) 4 2 1 PTR 1422,1582,1774,1993 THM Local 1412 R(4) 4 1 1 PTR 1412,1573,1759,1973 THP0 Local 1412 R(4) 4 1 1 PTR 1412,1575,1763,1978 THP1 Local 1413 R(4) 4 1 1 PTR 1413 THS Local 1412 R(4) 4 1 1 PTR 1412,1574,1761,1975 TIME Local 1410 I(4) 4 1 1 PTR 1410,1540,1542 TNAME Local 1447 CHAR 30 scalar 1510,1525,1526 TPMS Local 1417 R(4) 4 1 1 PTR 1417,1631,1859,2096 TUSX Local 1417 R(4) 4 1 1 PTR 1417,1622,1852,2084 TUSY Local 1417 R(4) 4 1 1 PTR 1417,1623,1853,2086 UA Local 1411 R(4) 4 1 1 PTR 1411,1721,1722,1723,1947 UBA Local 1414 R(4) 4 1 1 PTR 1414,1645,1885,1886,2112 UBD Local 1414 R(4) 4 1 1 PTR 1414,1646,1885,1886,2113 UD Local 1411 R(4) 4 1 1 PTR 1411,1722,1723,1948 UNDEF Local 1423 R(4) 4 scalar 1423,1507,1511,1568,1569,1570,1571 ,1572,1573,1574,1575,1576,1577,157 9,1580,1581,1582,1583,1585,1586,15 87,1588,1589,1590,1591,1592,1594,1 595,1596,1598,1599,1602,1603,1605, 1606,1607,1608,1611,1612,1613,1616 ,1617,1619,1620,1622,1623,1626,162 7,1630,1631,1634,1637,1641,1642,16 45,1646,1648,1649,1650,1653,1654,1 657,1658,1661,1662,1663,1664,1665, 1671,1673,1674,1677,1678,1680,1681 ,1682,1683,1686,1687,1689,1691,169 2,1693,1721,1725,1726,1811,1812,18 70,1874,1875,1884,1888,1889 US3D Local 1421 R(4) 4 2 1 PTR 1421,1634,1861,1862,2099,2101 US3DF Local 1861 I(4) 4 1 1 PTR 1861,1862,2099,2101 USERO Local 1416 R(4) 4 2 1 PTR 1416,1931,2165 USSX Local 1418 R(4) 4 1 1 PTR 1418,1626,1855,2089 USSY Local 1418 R(4) 4 1 1 PTR 1418,1627,1856,2091 UST Local 1410 R(4) 4 1 1 PTR 1410,1576,1806,1808,2031 USTDIR Local 1410 R(4) 4 1 1 PTR 1410,1577,1807,1809,2033 VEROGR Param 1506 CHAR 10 scalar PRIV 123,1506,1517,1518 VERTST Local 1448 CHAR 10 scalar 1510,1517,1518 W3ADATMD Module 1407 1407,1411,1412,1413 W3DIMA Subr 1407 1407,1701 W3DIMW Subr 1406 1406,1700 W3GDATMD Module 1404 1404 W3IOGO Subr 1196 W3ODATMD Module 1408 1408,1423 W3SERVMD Module 1427 1427 W3SETA Subr 1407 1407,1463 W3SETG Subr 1462 1462 W3SETO Subr 1408 1408,1461 Page 57 Source Listing W3IOGO 2014-09-16 16:52 Symbol Table w3iogomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References W3SETW Subr 1406 1406,1464 W3WDATMD Module 1406 1406,1410 W3XETA Subr 1407 1407 WHITECAP Local 1420 R(4) 4 2 1 PTR 1420,1605,1606,1607,1608,1680,1681 ,1682,1683,1830,1832,1834,1836,205 4,2057,2060,2063 WLM Local 1412 R(4) 4 1 1 PTR 1412,1568,1749,1963 WLV Local 1410 R(4) 4 1 1 PTR 1410,1734,1952 WN Local 1411 R(4) 4 2 1 PTR 1411,1778,1999 WRITE Local 1424 L(4) 4 scalar PTR 1475,1477,1491,1504,1539,1548,1564 ,1710,2183 Page 58 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 2243 !/ 2244 !/ End of module W3IOGOMD -------------------------------------------- / 2245 !/ 2246 END MODULE W3IOGOMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References W3IOGOMD Module 2 Page 59 Source Listing W3IOGO 2014-09-16 16:52 Subprograms/Common Blocks w3iogomd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References W3FLGRDUPDT Subr 129 W3IOGO Subr 1196 W3IOGOMD Module 2 W3OUTG Subr 583 W3READFLGRD Subr 212 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 no -f77rtl no -fast Page 60 Source Listing W3IOGO 2014-09-16 16:52 w3iogomd.f90 -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 : w3iogomd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100