Page 1 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 1 MODULE W3ADATMD 2 !/ 3 !/ +-----------------------------------+ 4 !/ | WAVEWATCH III NOAA/NCEP | 5 !/ | H. L. Tolman | 6 !/ | FORTRAN 90 | 7 !/ | Last update : 14-Nov-2013 | 8 !/ +-----------------------------------+ 9 !/ 10 !/ 28-Dec-2004 : Origination. ( version 3.06 ) 11 !/ 04-May-2005 : Adding MPI_COMM_WAVE. ( version 3.07 ) 12 !/ 20-Jul-2005 : Adding output fields. ( version 3.07 ) 13 !/ 09-Nov-2005 : Removing soft boundary option. ( version 3.08 ) 14 !/ 13-Jun-2006 : Splitting STORE in G/SSTORE. ( version 3.09 ) 15 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 16 !/ 28_Mar-2007 : Add partitioned data arrays. ( version 3.11 ) 17 !/ Add aditional undefined arrays. 18 !/ 22-Feb-2008 ; Modify MAPTH2 declaration. ( version 3.13 ) 19 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 20 !/ 29-Oct-2010 : Adding unstructured grid data. ( version 3.14 ) 21 !/ (A. Roland and F. Ardhuin) 22 !/ 31-Oct-2010 : Adding output parameters ( version 3.14 ) 23 !/ 12-Dec-2012 : Adding SMC grid. JG_Li ( version 4.08 ) 24 !/ 26-Dec-2012 : Memory reduction for outputs. ( version 4.11 ) 25 !/ Add W3XETA. 26 !/ 28-Jun-2013 : Bug fix initialization P2SMS. ( version 4.11 ) 27 !/ 11-Nov-2013 : SMC and rotated grid incorporated in the main 28 !/ trunk ( version 4.13 ) 29 !/ 14-Nov-2013 : Move orphaned arrays as scalar to W3SRCE. 30 !/ Here update of documentation only. 31 !/ (Z0S, CDS, EMN, FMN, WNM, AMX) ( version 4.13 ) 32 ! 33 !/ 34 !/ Copyright 2009-2013 National Weather Service (NWS), 35 !/ National Oceanic and Atmospheric Administration. All rights 36 !/ reserved. WAVEWATCH III is a trademark of the NWS. 37 !/ No unauthorized use without permission. 38 !/ 39 ! 1. Purpose : 40 ! 41 ! Define data structures to set up wave model auxiliary daya for 42 ! several models simultaneously. 43 ! 44 ! 2. Variables and types : 45 ! 46 ! Name Type Scope Description 47 ! ---------------------------------------------------------------- 48 ! NADATA Int. Public Number of models in array dim. 49 ! IADATA Int. Public Selected model for output, init. at -1. 50 ! MPIBUF I.P. Public Number of buffer arrays for 'hidden' 51 ! MPI communications (no hiding for 52 ! MPIBUF = 1). 53 ! WADAT TYPE Public Basic data structure. 54 ! WADATS WADAT Public Array of data structures. 55 ! ---------------------------------------------------------------- 56 ! 57 ! All elements of WADAT are aliased to pointers with the same Page 2 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 58 ! name. These pointers are defined as : 59 ! 60 ! Name Type Scope Description 61 ! ---------------------------------------------------------------- 62 ! Internal model definition: 63 ! 64 ! CG R.A. Public Group velocities for all wave model 65 ! sea points and frequencies. 66 ! WN R.A. Public Idem, wavenumbers. 67 ! 68 ! Aux. arrays for model input: 69 ! 70 ! CA0-I R.A. Public Absolute current velocity (initial 71 ! and inc.) in W3UCUR. 72 ! CD0-I R.A. Public Current direction (initial and 73 ! increment) in W3UCUR. 74 ! UA0-I R.A. Public Absolute wind speeds (initial and 75 ! incr.) in W3UWND (m/s) 76 ! UD0-I R.A. Public Wind direction (initial and incr.) 77 ! in W3UWND (rad) 78 ! AS0-I R.A. Public Stability par. (initial and incr.) 79 ! in W3UWND (degr) 80 ! ATRNX/Y R.A. Public Actual transparency info. 81 ! 82 ! Fields of mean wave parameters: 83 ! 84 ! DW R.A. Public Water depths. 85 ! UA R.A. Public Absolute wind speeds. 86 ! UD R.A. Public Absolute wind direction. 87 ! U10 R.A. Public Wind speed used. 88 ! U10D R.A. Public Wind direction used. 89 ! AS R.A. Public Stability parameter. 90 ! CX/Y R.A. Public Current components. 91 ! 92 ! HS R.A. Public Wave Height. 93 ! WLM R.A. Public Mean wave length. 94 ! T02 R.A. Public Mean wave period (m0,2). 95 ! T0M1 R.A. Public Mean wave period (m0,-1). 96 ! T01 R.A. Public Mean wave period (m0,1). 97 ! FP0 R.A. Public Peak frequency. 98 ! THM R.A. Public Mean wave direction. 99 ! THS R.A. Public Mean directional spread. 100 ! THP0 R.A. Public Peak direction. 101 ! 102 ! CHARN R.A. Public Charnock parameter for air-sea friction. 103 ! CGE R.A. Public Energy flux. 104 ! PHIAW R.A. Public Wind to wave energy flux. 105 ! TAUWIX/Y R.A. Public Wind to wave energy flux. 106 ! TAUWNX/Y R.A. Public Wind to wave energy flux. 107 ! WHITECAP R.A. Public 1 : Whitecap coverage 108 ! 2 : Whitecap thickness 109 ! 3 : Mean breaking height 110 ! 4 : Mean breaking height 111 ! 112 ! Sxx R.A. Public Radiation stresses. 113 ! TAUOX/Y R.A. Public Wave-ocean momentum flux. 114 ! BHD R.A. Public Wave-induced pressure (J term, Smith JPO 2006) Page 3 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 115 ! PHIOC R.A. Public Waves to ocean energy flux. 116 ! TUSX/Y R.A. Public Volume transport associated to Stokes drift. 117 ! USSX/Y R.A. Public Surface Stokes drift. 118 ! 119 ! US3D R.A. Public 3D Stokes drift. 120 ! 121 ! ABA R.A. Public Near-bottom rms wave ex. apmplitude. 122 ! ABD R.A. Public Corresponding direction. 123 ! UBA R.A. Public Near-bottom rms wave velocity. 124 ! UBD R.A. Public Corresponding direction. 125 ! BEDFORMS R.A. Public Bed for parameters 126 ! PHIBBL R.A. Public Energy loss in WBBL. 127 ! TAUBBL R.A. Public Momentum loss in WBBL. 128 ! 129 ! MSSX/Y R.A. Public Surface mean square slopes in X and Y direction. 130 ! MSCX/Y R.A. Public Phillips constant. 131 ! 132 ! DTDYN R.A. Public Mean dynamic time step (raw). 133 ! FCUT R.A. Public Cut-off frequency for tail. 134 ! CFLXYMAX R.A. Public Max. CFL number for spatial advection. 135 ! CFLTHMAX R.A. Public Max. CFL number for refraction. 136 ! CFLKMAX R.A. Public Max. CFL number for wavenumber shift. 137 ! 138 ! Old parameters not yet in new structure ... 139 ! 140 ! FP1 R.A. Public Wind sea peak frequency. (parked in 2) 141 ! THP1 R.A. Public Wind sea peak direction. (parked in 2) 142 ! 143 ! Orphans, commented out here, now automatic arrays in W3WAVE, .... 144 ! 145 ! DRAT R.A. Public Density ration air/water. Was 146 ! placeholder only. Now scalar in W3SRCE, 147 ! TAUWX/Y R.A. Public Stresses particularly for PALM. 148 ! 149 ! Derivatives in space .... 150 ! 151 ! DDDx R.A. Public Spatial derivatives of the depth. 152 ! DCxDx R.A. Public Spatial dirivatives of the current. 153 ! 154 ! Mean parameters from partitiones spectra, 2D array with el. 155 ! 0 holding wind sea data, and 1:NOSWLL holding swell fields. 156 ! Last two arrays are regular single-entry arrays. 157 ! 158 ! PHS R.A. Public Wave height of partition. 159 ! PTP R.A. Public Peak period of partition. 160 ! PLP R.A. Public Peak wave leingth of partition. 161 ! PTH R.A. Public Mean direciotn of partition. 162 ! PSI R.A. Public Mean spread of partition. 163 ! PWS R.A. Public Wind sea fraction of partition. 164 ! 165 ! PWST R.A. Public Total wind sea fraction. 166 ! PNR R.A. Public Number of partitions found. 167 ! 168 ! Empty dummy fields (NOEXTR) 169 ! 170 ! USERO R.A. Public Empty output arrays than can be 171 ! used by users as a simple means to Page 4 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 172 ! add output. 173 ! 174 ! Map data for propagation schemes (1Up). 175 ! 176 ! IS0/2 I.A. Public Spectral propagation maps. 177 ! FACVX/Y R.A. Public Spatial propagation factor map. 178 ! 179 ! Map data for propagation schemes (UQ). 180 ! 181 ! NMXn Int. Public Counters for MAPX2, see W3MAP3. 182 ! NMYn Int. Public 183 ! NMXY Int. Public Dimension of MAPXY. 184 ! NACTn Int. Public Dimension of MAPAXY. 185 ! NCENT Int. Public Dimension of MAPAXY. 186 ! MAPX2 I.A. Public Map for prop. in 'x' (longitude) dir. 187 ! MAPY2 I.A. Public Idem in y' (latitude) direction. 188 ! MAPXY I.A. Public 189 ! MAPAXY I.A. Public List of active points used in W3QCK1. 190 ! MAPCXY I.A. Public List of central points used in avg. 191 ! MAPTH2 I.A. Public Like MAPX2 for refraction (rotated 192 ! and shifted, see W3KTP3). Like MAPAXY. 193 ! MAPWN2 I.A. Public Like MAPX2 for wavenumber shift. 194 ! MAPTRN L.A. Public Map to block out GSE mitigation in 195 ! proper grid points. 196 ! 197 ! Nonlinear interactions ( !/NL1 ) : 198 ! 199 ! NFR Int. Public Nuber of frequencies ( NFR = NK ) 200 ! NFRHGH Int. Public Auxiliary frequency counter. 201 ! NFRCHG Int. Public Id. 202 ! NSPECX-Y Int. Public Auxiliary spectral counter. 203 ! IPnn I.A. Public Spectral address for Snl. 204 ! IMnn I.A. Public Id. 205 ! ICnn I.A. Public Id. 206 ! DALn Real Public Lambda dependend weight factors. 207 ! AWGn Real Public Interpolation weights for Snl. 208 ! SWGn Real Public Interpolation weights for diag. term. 209 ! AF11 R.A. Public Scaling array (f**11) 210 ! NLINIT Log. Public Flag for initialization. 211 ! 212 ! MPP / MPI variables : 213 ! 214 ! IAPPRO I.A. Public Processor numbers for propagation calc. 215 ! for each spectral component. 216 ! MPI_COMM_WAVE 217 ! Int. Public Communicator used in the wave model. 218 ! MPI_COMM_WCMP 219 ! Int. Public Idem, computational proc. only. 220 ! WW3_FIELD_VEC, WW3_SPEC_VEC 221 ! Int. Public MPI derived vecor types. 222 ! NRQSG1 Int. Public Number of handles in IRQSG1. 223 ! NRQSG2 Int. Public Number of handles in IRQSG2. 224 ! IBFLOC Int. Public Present active buffer number. 225 ! ISPLOC Int. Public Corresponding local spectral bin number 226 ! (1,NSPLOC,1). 227 ! NSPLOC Int. Public Total number of spectral bins for which 228 ! prop. is performed on present CPU. Page 5 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 229 ! BSTAT I.A. Public Status of buffer (size MPIBUF): 230 ! 0: Inactive. 231 ! 1: A --> STORE (active or finished). 232 ! 2: STORE --> A (active or finished). 233 ! BISPL I.A. Public Local spectral bin number for buffer 234 ! (size MPIBUF). 235 ! IRQSG1 I.A. Public MPI request handles for scatters and 236 ! gathers to A() (persistent). 237 ! IRQSG2 I.A. Public MPI request handles for gathers and 238 ! scatters to STORE (persistent). 239 ! G/SSTORE R.A. Public Communication buffer (NSEA,MPIBUF). 240 ! SPPNT R.A. Public Point output buffer. 241 ! 242 ! Other: 243 ! 244 ! ITIME Int. Public Discrete time step counter. 245 ! IPASS Int. Public Pass counter for log file. 246 ! IDLAST Int. Public Last day ID for log file. 247 ! NSEALM Int. Public Maximum number of local sea points. 248 ! ALPHA R.A. Public Phillips' alpha. 249 ! FLCOLD Log. Public Flag for 'cold start' of model. 250 ! FLIWND Log. Public Flag for initialization of model 251 ! based on wind. 252 ! AINIT(2) Log. Public Flag for array initialization. 253 ! FL_ALL Log. Public Flag for all/partial initialization. 254 ! ---------------------------------------------------------------- 255 ! 256 ! 3. Subroutines and functions : 257 ! 258 ! Name Type Scope Description 259 ! ---------------------------------------------------------------- 260 ! W3NAUX Subr. Public Set number of grids/models. 261 ! W3DIMA Subr. Public Set dimensions of arrays. 262 ! W3DMNL Subr. Public Set dimensions of arrays. ( !/NL1 ) 263 ! W3SETA Subr. Public Point to selected grid / model. 264 ! W3XETA Subr. Public Like W3SETA for expanded output arrays. 265 ! ---------------------------------------------------------------- 266 ! 267 ! 4. Subroutines and functions used : 268 ! 269 ! Name Type Module Description 270 ! ---------------------------------------------------------------- 271 ! W3SETG Subr. W3GDATMD Point to proper model grid. 272 ! STRACE Subr. W3SERVMD Subroutine tracing. 273 ! EXTCDE Subr. W3SERVMD Abort program with exit code. 274 ! ---------------------------------------------------------------- 275 ! 276 ! 5. Remarks : 277 ! 278 ! - The number of grids is taken from W3GDATMD, and needs to be 279 ! set first with W3DIMG. 280 ! 281 ! 6. Switches : 282 ! 283 ! !/SHRD, !/DIST, !/MPI 284 ! Shared / distributed memory model 285 ! Page 6 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 286 ! !/PRn Propagation scheme selection. 287 ! 288 ! !/S Enable subroutine tracing. 289 ! !/T Enable test output 290 ! 291 ! 7. Source code : 292 ! 293 !/ ------------------------------------------------------------------- / 294 PUBLIC 295 !/ 296 !/ Conventional declarations 297 !/ 298 INTEGER :: NADATA = -1, IADATA = -1 299 !/ 300 !/ Data structure WADAT 301 !/ 302 TYPE WADAT 303 ! 304 ! The grid 305 ! 306 REAL, POINTER :: CG(:,:), WN(:,:) 307 ! 308 ! Arrays for processing model input 309 ! 310 REAL, POINTER :: CA0(:), CAI(:), CD0(:), CDI(:), & 311 UA0(:), UAI(:), UD0(:), UDI(:), & 312 AS0(:), ASI(:), ATRNX(:,:), ATRNY(:,:) 313 ! 314 ! Output fields group 1) 315 ! 316 REAL, POINTER :: DW(:), UA(:), UD(:), U10(:), U10D(:),& 317 AS(:), CX(:), CY(:) 318 ! 319 ! Output fields group 2) 320 ! 321 REAL, POINTER :: HS(:), WLM(:), T02(:), T0M1(:), & 322 T01 (:), FP0(:), THM(:), & 323 THS(:), THP0(:), FP1(:), THP1(:) 324 REAL, POINTER :: XHS(:), XWLM(:), XT02(:), XT0M1(:), & 325 XT01 (:), XFP0(:), XTHM(:), & 326 XTHS(:), XTHP0(:), XFP1(:), XTHP1(:) 327 ! 328 ! Output fields group 3) 329 ! 330 REAL, POINTER :: EF(:,:), TH1M(:,:), STH1M(:,:), & 331 TH2M(:,:), STH2M(:,:) !, WN(:,:) 332 REAL, POINTER :: XEF(:,:), XTH1M(:,:), XSTH1M(:,:),& 333 XTH2M(:,:), XSTH2M(:,:) !, XWN(:,:) 334 ! 335 ! Output fields group 4) 336 ! 337 REAL, POINTER :: PHS(:,:), PTP(:,:), PLP(:,:), & 338 PTH(:,:), PSI(:,:), PWS(:,:), & 339 PWST(:), PNR(:) 340 REAL, POINTER :: XPHS(:,:), XPTP(:,:), XPLP(:,:), & 341 XPTH(:,:), XPSI(:,:), XPWS(:,:), & 342 XPWST(:), XPNR(:) Page 7 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 343 ! 344 ! Output fields group 5) 345 ! 346 REAL, POINTER :: CHARN(:), CGE(:), PHIAW(:), & 347 TAUWIX(:), TAUWIY(:), TAUWNX(:), & 348 TAUWNY(:), WHITECAP(:,:) 349 REAL, POINTER :: XCHARN(:), XCGE(:), XPHIAW(:), & 350 XTAUWIX(:), XTAUWIY(:), XTAUWNX(:), & 351 XTAUWNY(:), XWHITECAP(:,:) 352 ! 353 ! Output fields group 6) 354 ! 355 REAL, POINTER :: SXX(:), SYY(:), SXY(:), TAUOX(:),& 356 TAUOY(:), BHD(:), PHIOC(:), & 357 TUSX(:), TUSY(:), USSX(:), & 358 USSY(:), PRMS(:), TPMS(:) 359 REAL, POINTER :: P2SMS(:,:), US3D(:,:) 360 REAL, POINTER :: XSXX(:), XSYY(:), XSXY(:), XTAUOX(:),& 361 XTAUOY(:), XBHD(:), XPHIOC(:), & 362 XTUSX(:), XTUSY(:), XUSSX(:), & 363 XUSSY(:), XPRMS(:), XTPMS(:) 364 REAL, POINTER :: XP2SMS(:,:), XUS3D(:,:) 365 ! 366 ! Output fields group 7) 367 ! 368 REAL, POINTER :: ABA(:), ABD(:), UBA(:), UBD(:), & 369 BEDFORMS(:,:), PHIBBL(:), & 370 TAUBBL(:,:) 371 REAL, POINTER :: XABA(:), XABD(:), XUBA(:), XUBD(:), & 372 XBEDFORMS(:,:), XPHIBBL(:), & 373 XTAUBBL(:,:) 374 ! 375 ! Output fields group 8) 376 ! 377 REAL, POINTER :: MSSX(:), MSSY(:), MSCX(:), MSCY(:) 378 REAL, POINTER :: XMSSX(:), XMSSY(:), XMSCX(:), XMSCY(:) 379 ! 380 ! Output fields group 9) 381 ! 382 REAL, POINTER :: DTDYN(:), FCUT(:), CFLXYMAX(:), & 383 CFLTHMAX(:), CFLKMAX(:) 384 REAL, POINTER :: XDTDYN(:), XFCUT(:), XCFLXYMAX(:), & 385 XCFLTHMAX(:), XCFLKMAX(:) 386 ! 387 ! Output fields group 10) 388 ! 389 REAL, POINTER :: USERO(:,:) 390 REAL, POINTER :: XUSERO(:,:) 391 ! 392 ! Spatial derivatives 393 ! 394 REAL, POINTER :: DDDX(:,:), DDDY(:,:), DCXDX(:,:), & 395 DCYDX(:,:), DCXDY(:,:), DCYDY(:,:) 396 REAL, POINTER :: DCDX(:,:,:), DCDY(:,:,:) 397 ! 398 INTEGER :: NMX0, NMX1, NMX2, NMY0, NMY1, NMY2, & 399 NACT, NCENT Page 8 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 400 INTEGER, POINTER :: MAPX2(:), MAPY2(:), MAPAXY(:), & 401 MAPCXY(:), MAPTH2(:), MAPWN2(:) 402 LOGICAL, POINTER :: MAPTRN(:) 403 ! 404 ! Warning Defined but not set if UGTYPE .EQ. .T. 405 INTEGER, POINTER :: ITER(:,:) 406 ! 407 INTEGER :: NFR, NFRHGH, NFRCHG, NSPECX, NSPECY 408 INTEGER, POINTER :: IP11(:), IP12(:), IP13(:), IP14(:), & 409 IM11(:), IM12(:), IM13(:), IM14(:), & 410 IP21(:), IP22(:), IP23(:), IP24(:), & 411 IM21(:), IM22(:), IM23(:), IM24(:), & 412 IC11(:), IC12(:), IC21(:), IC22(:), & 413 IC31(:), IC32(:), IC41(:), IC42(:), & 414 IC51(:), IC52(:), IC61(:), IC62(:), & 415 IC71(:), IC72(:), IC81(:), IC82(:) 416 REAL :: DAL1, DAL2, DAL3, & 417 AWG1, AWG2, AWG3, AWG4, AWG5, AWG6, & 418 AWG7, AWG8, SWG1, SWG2, SWG3, SWG4, & 419 SWG5, SWG6, SWG7, SWG8 420 REAL, POINTER :: AF11(:) 421 LOGICAL :: NLINIT 422 ! 423 INTEGER, POINTER :: IAPPRO(:) 424 REAL, POINTER :: SPPNT(:,:,:) 425 ! 426 INTEGER :: ITIME, IPASS, IDLAST, NSEALM 427 REAL, POINTER :: ALPHA(:,:) 428 LOGICAL :: AINIT, AINIT2, FL_ALL, FLCOLD, FLIWND 429 ! 430 END TYPE WADAT 431 !/ 432 !/ Data storage 433 !/ 434 TYPE(WADAT), TARGET, ALLOCATABLE :: WADATS(:) 435 !/ 436 !/ Data aliasses for structure WADAT(S) 437 !/ 438 REAL, POINTER :: CG(:,:), WN(:,:) 439 ! 440 REAL, POINTER :: CA0(:), CAI(:), CD0(:), CDI(:), & 441 UA0(:), UAI(:), UD0(:), UDI(:), & 442 AS0(:), ASI(:), ATRNX(:,:), ATRNY(:,:) 443 ! 444 REAL, POINTER :: DW(:), UA(:), UD(:), U10(:), U10D(:),& 445 AS(:), CX(:), CY(:) 446 ! 447 REAL, POINTER :: HS(:), WLM(:), T02(:), T0M1(:), & 448 T01 (:), FP0(:), THM(:), THS(:), & 449 THP0(:), FP1(:), THP1(:) 450 ! 451 REAL, POINTER :: EF(:,:), TH1M(:,:), STH1M(:,:), & 452 TH2M(:,:), STH2M(:,:) 453 ! 454 REAL, POINTER :: PHS(:,:), PTP(:,:), PLP(:,:), & 455 PTH(:,:), PSI(:,:), PWS(:,:), & 456 PWST(:), PNR(:) Page 9 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 457 ! 458 REAL, POINTER :: CHARN(:), CGE(:), PHIAW(:), & 459 TAUWIX(:), TAUWIY(:), TAUWNX(:), & 460 TAUWNY(:), WHITECAP(:,:) 461 ! 462 REAL, POINTER :: SXX(:), SYY(:), SXY(:), TAUOX(:), & 463 TAUOY(:), BHD(:), PHIOC(:), & 464 TUSX(:), TUSY(:), USSX(:), USSY(:), & 465 PRMS(:), TPMS(:) 466 REAL, POINTER :: P2SMS(:,:), US3D(:,:) 467 ! 468 REAL, POINTER :: ABA(:), ABD(:), UBA(:), UBD(:), & 469 BEDFORMS(:,:), PHIBBL(:), TAUBBL(:,:) 470 ! 471 REAL, POINTER :: MSSX(:), MSSY(:), MSCX(:), MSCY(:) 472 ! 473 REAL, POINTER :: DTDYN(:), FCUT(:), CFLXYMAX(:), & 474 CFLTHMAX(:), CFLKMAX(:) 475 ! 476 REAL, POINTER :: USERO(:,:) 477 ! 478 ! REAL, POINTER :: TAUWX(:), TAUWY(:) 479 ! 480 REAL, POINTER :: DDDX(:,:), DDDY(:,:), DCXDX(:,:), & 481 DCYDX(:,:), DCXDY(:,:), DCYDY(:,:) 482 REAL, POINTER :: DCDX(:,:,:), DCDY(:,:,:) 483 ! 484 INTEGER, POINTER :: NMX0, NMX1, NMX2, NMY0, NMY1, NMY2, & 485 NACT, NCENT 486 INTEGER, POINTER :: MAPX2(:), MAPY2(:), MAPAXY(:), & 487 MAPCXY(:), MAPTH2(:), MAPWN2(:) 488 LOGICAL, POINTER :: MAPTRN(:) 489 ! 490 INTEGER, POINTER :: ITER(:,:) 491 ! 492 INTEGER, POINTER :: NFR, NFRHGH, NFRCHG, NSPECX, NSPECY 493 INTEGER, POINTER :: IP11(:), IP12(:), IP13(:), IP14(:), & 494 IM11(:), IM12(:), IM13(:), IM14(:), & 495 IP21(:), IP22(:), IP23(:), IP24(:), & 496 IM21(:), IM22(:), IM23(:), IM24(:), & 497 IC11(:), IC12(:), IC21(:), IC22(:), & 498 IC31(:), IC32(:), IC41(:), IC42(:), & 499 IC51(:), IC52(:), IC61(:), IC62(:), & 500 IC71(:), IC72(:), IC81(:), IC82(:) 501 REAL, POINTER :: DAL1, DAL2, DAL3, & 502 AWG1, AWG2, AWG3, AWG4, AWG5, AWG6, & 503 AWG7, AWG8, SWG1, SWG2, SWG3, SWG4, & 504 SWG5, SWG6, SWG7, SWG8 505 REAL, POINTER :: AF11(:) 506 LOGICAL, POINTER :: NLINIT 507 ! 508 INTEGER, POINTER :: IAPPRO(:) 509 REAL, POINTER :: SPPNT(:,:,:) 510 ! 511 INTEGER, POINTER :: ITIME, IPASS, IDLAST, NSEALM 512 REAL, POINTER :: ALPHA(:,:) 513 LOGICAL, POINTER :: AINIT, AINIT2, FL_ALL, FLCOLD, FLIWND Page 10 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 514 !/ 515 CONTAINS 516 !/ ------------------------------------------------------------------- / 517 SUBROUTINE W3NAUX ( NDSE, NDST ) 518 !/ 519 !/ +-----------------------------------+ 520 !/ | WAVEWATCH III NOAA/NCEP | 521 !/ | H. L. Tolman | 522 !/ | FORTRAN 90 | 523 !/ | Last update : 14-Dec-2004 ! 524 !/ +-----------------------------------+ 525 !/ 526 !/ 14-Dec-2004 : Origination. ( version 3.06 ) 527 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 528 !/ 529 ! 1. Purpose : 530 ! 531 ! Set up the number of grids to be used. 532 ! 533 ! 2. Method : 534 ! 535 ! Use data stored in NGRIDS in W3GDATMD. 536 ! 537 ! 3. Parameters : 538 ! 539 ! Parameter list 540 ! ---------------------------------------------------------------- 541 ! NDSE Int. I Error output unit number. 542 ! NDST Int. I Test output unit number. 543 ! ---------------------------------------------------------------- 544 ! 545 ! 4. Subroutines used : 546 ! 547 ! See module documentation. 548 ! 549 ! 5. Called by : 550 ! 551 ! Any program that uses this grid structure. 552 ! 553 ! 6. Error messages : 554 ! 555 ! - Error checks on previous setting of variable NGRIDS. 556 ! 557 ! 7. Remarks : 558 ! 559 ! 8. Structure : 560 ! 561 ! 9. Switches : 562 ! 563 ! !/S Enable subroutine tracing. 564 ! !/T Enable test output 565 ! 566 ! 10. Source code : 567 ! 568 !/ ------------------------------------------------------------------- / 569 USE W3GDATMD, ONLY: NGRIDS 570 USE W3SERVMD, ONLY: EXTCDE Page 11 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 571 ! 572 IMPLICIT NONE 573 !/ 574 !/ ------------------------------------------------------------------- / 575 !/ Parameter list 576 !/ 577 INTEGER, INTENT(IN) :: NDSE, NDST 578 !/ 579 !/ ------------------------------------------------------------------- / 580 !/ Local parameters 581 !/ 582 INTEGER :: I 583 !/ 584 ! 585 ! -------------------------------------------------------------------- / 586 ! 1. Test input and module status 587 ! 588 IF ( NGRIDS .EQ. -1 ) THEN 589 WRITE (NDSE,1001) NGRIDS 590 CALL EXTCDE (1) 591 END IF 592 ! 593 ! -------------------------------------------------------------------- / 594 ! 2. Set variable and allocate arrays 595 ! 596 ALLOCATE ( WADATS(NGRIDS) ) 597 NADATA = NGRIDS 598 ! 599 ! -------------------------------------------------------------------- / 600 ! 3. Initialize parameters 601 ! 602 DO I=1, NGRIDS 603 WADATS(I)%ITIME = 0 604 WADATS(I)%IPASS = 0 605 WADATS(I)%IDLAST = 0 606 WADATS(I)%AINIT = .FALSE. 607 WADATS(I)%AINIT2 = .FALSE. 608 WADATS(I)%FL_ALL = .FALSE. 609 WADATS(I)%NLINIT = .FALSE. 610 END DO 611 ! 612 RETURN 613 ! 614 ! Formats 615 ! 616 1001 FORMAT (/' *** ERROR W3NAUX : NGRIDS NOT YET SET *** '/ & 617 ' NGRIDS = ',I10/ & 618 ' RUN W3NMOD FIRST'/) 619 ! 620 !/ 621 !/ End of W3NAUX ----------------------------------------------------- / 622 !/ 623 END SUBROUTINE W3NAUX Page 12 Source Listing W3NAUX 2014-09-16 16:50 Entry Points w3adatmd.f90 ENTRY POINTS Name w3adatmd_mp_w3naux_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 616 589 AINIT Local 606 L(4) 4 scalar TGT 606,742,1000,1803 AINIT2 Local 607 L(4) 4 scalar TGT 607,1084,1506,1804 EXTCDE Subr 570 570,590 FL_ALL Local 608 L(4) 4 scalar TGT 608,1805 I Local 582 I(4) 4 scalar 602,603,604,605,606,607,608,609 IDLAST Local 605 I(4) 4 scalar TGT 605,1799 IPASS Local 604 I(4) 4 scalar TGT 604,1798 ITIME Local 603 I(4) 4 scalar TGT 603,1797 NADATA Local 597 I(4) 4 scalar 298,597,737,738,1079,1080,1619,162 0,1779,1784,1785,2069,2074,2075 NDSE Dummy 517 I(4) 4 scalar ARG,IN 589 NDST Dummy 517 I(4) 4 scalar ARG,IN NGRIDS Local 569 I(4) 4 scalar 569,588,589,596,597,602 NLINIT Local 609 L(4) 4 scalar TGT 609,1624,1666,1840 W3GDATMD Module 569 569 W3NAUX Subr 517 W3SERVMD Module 570 570 WADATS Local 596 RECORD 15976 1 1 ALC,TGT 596,603,604,605,606,607,608,609,74 2,763,764,766,767,768,770,771,772, 784,785,786,787,788,789,791,792,79 3,794,795,796,797,798,799,800,801, 805,806,807,808,809,810,811,812,81 3,814,818,819,820,821,822,823,824, 826,827,828,829,830,831,832,833,83 9,840,841,842,843,844,845,846,848, 849,850,851,852,853,854,855,859,86 0,861,862,863,864,865,866,867,868, 869,870,871,877,879,881,883,885,88 6,887,889,890,891,892,893,894,895, 896,897,898,899,900,901,902,903,90 7,908,909,910,911,913,914,915,916, 917,918,919,923,924,926,927,928,92 9,933,934,935,936,937,939,940,941, 942,943,947,949,953,954,956,957,95 8,959,961,962,963,964,965,966,968, 969,971,972,973,974,975,976,977,97 8,980,983,986,987,988,989,990,991, 992,993,995,996,1000,1084,1099,110 1,1105,1107,1111,1113,1117,1119,11 23,1125,1129,1131,1135,1137,1141,1 143,1147,1149,1164,1165,1166,1167, 1168,1169,1170,1171,1172,1177,1179 ,1183,1185,1189,1191,1195,1197,120 Page 13 Source Listing W3NAUX 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 1,1203,1206,1209,1211,1215,1217,12 21,1223,1227,1229,1233,1235,1239,1 241,1245,1247,1251,1253,1256,1257, 1258,1259,1260,1261,1262,1263,1266 ,1268,1272,1274,1278,1280,1284,128 5,1287,1288,1292,1293,1295,1296,13 01,1303,1306,1307,1308,1309,1310,1 311,1312,1313,1316,1317,1318,1320, 1321,1322,1326,1327,1329,1330,1334 ,1336,1340,1342,1346,1347,1349,135 0,1354,1355,1357,1358,1362,1363,13 65,1366,1370,1372,1376,1378,1381,1 382,1383,1384,1385,1386,1387,1388, 1389,1390,1391,1392,1393,1394,1395 ,1398,1399,1401,1402,1406,1407,140 9,1410,1414,1416,1420,1422,1426,14 28,1431,1432,1433,1434,1435,1436,1 437,1440,1441,1443,1444,1448,1449, 1451,1452,1455,1456,1457,1458,1461 ,1463,1467,1469,1473,1475,1479,148 1,1485,1487,1490,1491,1492,1493,14 94,1498,1500,1504,1506,1624,1632,1 633,1634,1635,1636,1637,1638,1639, 1640,1641,1642,1643,1644,1645,1646 ,1647,1648,1649,1650,1651,1652,165 3,1654,1655,1656,1657,1658,1659,16 60,1661,1662,1663,1664,1666,1797,1 798,1799,1800,1801,1802,1803,1804, 1805,1807,1808,1809,1810,1811,1812 ,1813,1814,1816,1817,1818,1819,182 0,1821,1822,1823,1824,1825,1826,18 27,1828,1829,1830,1831,1832,1833,1 834,1835,1836,1837,1838,1839,1840, 1844,1845,1846,1847,1848,1849,1850 ,1851,1853,1854,1855,1856,1857,185 8,1859,1860,1861,1862,1863,1865,18 66,1867,1868,1869,1871,1872,1873,1 874,1875,1876,1877,1878,1880,1881, 1882,1883,1884,1885,1886,1887,1889 ,1890,1891,1892,1893,1894,1895,189 6,1897,1898,1899,1900,1901,1902,19 03,1905,1906,1907,1908,1909,1910,1 911,1913,1914,1915,1916,1918,1919, 1920,1921,1922,1924,1928,1929,1931 ,1932,1934,1935,1936,1937,1938,193 9,1940,1941,1943,1946,1947,1948,19 49,1953,1954,1955,1956,1957,1958,1 961,1962,1963,1964,1965,1966,1967, 1969,1971,1972,1979,1980,1981,1982 ,1983,1984,1985,1986,1987,1988,198 9,1990,1991,1992,1993,1994,1995,19 96,1997,1998,1999,2000,2001,2002,2 003,2004,2005,2006,2007,2008,2009, 2010,2011,2089,2090,2091,2092,2093 ,2094,2095,2096,2097,2101,2103,210 Page 14 Source Listing W3NAUX 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 4,2105,2106,2107,2108,2109,2110,21 12,2113,2114,2115,2116,2117,2118,2 119,2121,2122,2123,2124,2125,2126, 2127,2128,2129,2130,2131,2132,2133 ,2134,2135,2137,2138,2139,2140,214 1,2142,2143,2145,2146,2147,2148,21 50,2151,2152,2153,2154,2156 Page 15 Source Listing W3NAUX 2014-09-16 16:50 w3adatmd.f90 624 !/ ------------------------------------------------------------------- / 625 SUBROUTINE W3DIMA ( IMOD, NDSE, NDST, D_ONLY ) 626 !/ 627 !/ +-----------------------------------+ 628 !/ | WAVEWATCH III NOAA/NCEP | 629 !/ | H. L. Tolman | 630 !/ | FORTRAN 90 | 631 !/ | Last update : 28-Jun-2013 ! 632 !/ +-----------------------------------+ 633 !/ 634 !/ 28-Dec-2004 : Origination. ( version 3.06 ) 635 !/ 20-Jul-2005 : Adding output fields. ( version 3.07 ) 636 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 637 !/ 28-Mar-2007 : Add partitioned data arrays. ( version 3.11 ) 638 !/ Add aditional undefined arrays. 639 !/ 22-Feb-2008 ; Modify MAPTH2 declaration. ( version 3.14 ) 640 !/ 31-Oct-2010 : Added initialization of CX,CY,DW ( version 3.14 ) 641 !/ 25-Dec-2012 : Memory reduction for outputs. ( version 4.11 ) 642 !/ 28-Jul-2013 : Bug fix initialization P2SMS. ( version 4.11 ) 643 !/ 644 ! 1. Purpose : 645 ! 646 ! Initialize an individual data grid at the proper dimensions. 647 ! 648 ! 2. Method : 649 ! 650 ! Allocate directly into the structure array. Note that 651 ! this cannot be done through the pointer alias! 652 ! 653 ! 3. Parameters : 654 ! 655 ! Parameter list 656 ! ---------------------------------------------------------------- 657 ! IMOD Int. I Model number to point to. 658 ! NDSE Int. I Error output unit number. 659 ! NDST Int. I Test output unit number. 660 ! D_ONLY L.O. I FLag for initializing data arrays only. 661 ! ---------------------------------------------------------------- 662 ! 663 ! 4. Subroutines used : 664 ! 665 ! See module documentation. 666 ! 667 ! 5. Called by : 668 ! 669 ! Name Type Module Description 670 ! ---------------------------------------------------------------- 671 ! W3IOGO Subr. W3IOGOMD Grid output IO routine. 672 ! WW3_SHEL Prog. N/A Wave model driver. 673 ! ---------------------------------------------------------------- 674 ! 675 ! 6. Error messages : 676 ! 677 ! - Check on input parameters. 678 ! - Check on previous allocation. 679 ! 680 ! 7. Remarks : Page 16 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 681 ! 682 ! - W3SETA needs to be called after allocation to point to 683 ! proper allocated arrays. 684 ! 685 ! 8. Structure : 686 ! 687 ! See source code. 688 ! 689 ! 9. Switches : 690 ! 691 ! !/SHRD, !/DIST 692 ! Shared / distributed memory model 693 ! 694 ! !/PRn Propagation scheme selection. 695 ! 696 ! !/S Enable subroutine tracing. 697 ! !/T Enable test output 698 ! 699 ! 10. Source code : 700 ! 701 !/ ------------------------------------------------------------------- / 702 USE W3GDATMD, ONLY: NGRIDS, IGRID, W3SETG, NK, NX, NY, NSEA, & 703 NSEAL, NSPEC, NTH, E3DF, P2MSF, US3DF, GTYPE, UNGTYPE 704 USE W3ODATMD, ONLY: IAPROC, NAPROC, NTPROC, NAPFLD, & 705 NOSWLL, NOEXTR, UNDEF, FLOGRD, FLOGR2 706 USE W3IDATMD, ONLY: FLCUR, FLWIND 707 USE W3SERVMD, ONLY: EXTCDE 708 ! 709 IMPLICIT NONE 710 !/ 711 !/ ------------------------------------------------------------------- / 712 !/ Parameter list 713 !/ 714 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST 715 LOGICAL, INTENT(IN), OPTIONAL :: D_ONLY 716 !/ 717 !/ ------------------------------------------------------------------- / 718 !/ Local parameters 719 !/ 720 INTEGER :: JGRID, NXXX 721 !/ 722 ! 723 ! -------------------------------------------------------------------- / 724 ! 1. Test input and module status 725 ! 726 IF ( PRESENT(D_ONLY) ) THEN 727 FL_ALL = .NOT. D_ONLY 728 ELSE 729 FL_ALL = .TRUE. 730 END IF 731 ! 732 IF ( NGRIDS .EQ. -1 ) THEN 733 WRITE (NDSE,1001) 734 CALL EXTCDE (1) 735 END IF 736 ! 737 IF ( IMOD.LT.1 .OR. IMOD.GT.NADATA ) THEN Page 17 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 738 WRITE (NDSE,1002) IMOD, NADATA 739 CALL EXTCDE (2) 740 END IF 741 ! 742 IF ( WADATS(IMOD)%AINIT ) THEN 743 WRITE (NDSE,1003) 744 CALL EXTCDE (3) 745 END IF 746 ! 747 JGRID = IGRID 748 IF ( JGRID .NE. IMOD ) CALL W3SETG ( IMOD, NDSE, NDST ) 749 ! 750 ! -------------------------------------------------------------------- / 751 ! 2. Allocate arrays 752 ! Call W3SETA to assure of pointes FLCUR an FLWND 753 ! 754 CALL W3SETA ( IMOD, NDSE, NDST ) 755 ! 756 NSEALM = NSEA 757 NXXX = NSEALM * NAPROC 758 ! 759 ! Output and input parameteres by output type 760 ! 761 ! 1) Forcing fields (these arrays are always needed) 762 ! 763 ALLOCATE ( WADATS(IMOD)%DW(0:NSEA) ) 764 WADATS(IMOD)%DW(:)=0. 765 ! 766 ALLOCATE ( WADATS(IMOD)%CX(0:NSEA) , WADATS(IMOD)%CY(0:NSEA) ) 767 WADATS(IMOD)%CX(:)=0. 768 WADATS(IMOD)%CY(:)=0. 769 ! 770 ALLOCATE ( WADATS(IMOD)%UA(0:NSEA) , WADATS(IMOD)%UD(0:NSEA) , & 771 WADATS(IMOD)%U10(NSEA) , WADATS(IMOD)%U10D(NSEA) , & 772 WADATS(IMOD)%AS(0:NSEA) ) 773 ! 774 ! Water level WLV stored in W3WDATMD 775 ! Ice concentration ICE stored in W3WDATMD 776 ! Iceberg damping BERG stored in W3WDATMD 777 ! 778 ! 2) Standard mean wave parameters 779 ! Here, all short arrays are always allocated to reduce logical 780 ! checks in all computations. The coresponding full size arrays 781 ! are allocated in W3MPIO only as needed to keep the memory 782 ! footprint down. 783 ! 784 ALLOCATE ( WADATS(IMOD)%HS (NSEALM), WADATS(IMOD)%WLM(NSEALM), & 785 WADATS(IMOD)%T02 (NSEALM), WADATS(IMOD)%T0M1(NSEALM),& 786 WADATS(IMOD)%T01 (NSEALM), WADATS(IMOD)%FP0(NSEALM), & 787 WADATS(IMOD)%THM (NSEALM), WADATS(IMOD)%THS(NSEALM), & 788 WADATS(IMOD)%THP0 (NSEALM), WADATS(IMOD)%FP1(NSEALM), & 789 WADATS(IMOD)%THP1 (NSEALM) ) 790 ! 791 WADATS(IMOD)%HS = UNDEF 792 WADATS(IMOD)%WLM = UNDEF 793 WADATS(IMOD)%T02 = UNDEF 794 WADATS(IMOD)%T0M1 = UNDEF Page 18 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 795 WADATS(IMOD)%T01 = UNDEF 796 WADATS(IMOD)%FP0 = UNDEF 797 WADATS(IMOD)%THM = UNDEF 798 WADATS(IMOD)%THS = UNDEF 799 WADATS(IMOD)%THP0 = UNDEF 800 WADATS(IMOD)%FP1 = UNDEF 801 WADATS(IMOD)%THP1 = UNDEF 802 ! 803 ! 3) Frequency-dependent standard parameters 804 ! 805 ALLOCATE ( WADATS(IMOD)%EF (NSEALM,E3DF(2,1):E3DF(3,1)), & 806 WADATS(IMOD)%TH1M(NSEALM,E3DF(2,2):E3DF(3,2)), & 807 WADATS(IMOD)%STH1M(NSEALM,E3DF(2,3):E3DF(3,3)), & 808 WADATS(IMOD)%TH2M(NSEALM,E3DF(2,4):E3DF(3,4)), & 809 WADATS(IMOD)%STH2M(NSEALM,E3DF(2,5):E3DF(3,5))) 810 WADATS(IMOD)%EF = UNDEF 811 WADATS(IMOD)%TH1M = UNDEF 812 WADATS(IMOD)%STH1M = UNDEF 813 WADATS(IMOD)%TH2M = UNDEF 814 WADATS(IMOD)%STH2M = UNDEF 815 ! 816 ! 4) Spectral Partitions parameters 817 ! 818 ALLOCATE ( WADATS(IMOD)%PHS(NSEALM,0:NOSWLL), & 819 WADATS(IMOD)%PTP(NSEALM,0:NOSWLL), & 820 WADATS(IMOD)%PLP(NSEALM,0:NOSWLL), & 821 WADATS(IMOD)%PTH(NSEALM,0:NOSWLL), & 822 WADATS(IMOD)%PSI(NSEALM,0:NOSWLL), & 823 WADATS(IMOD)%PWS(NSEALM,0:NOSWLL), & 824 WADATS(IMOD)%PWST(NSEALM), WADATS(IMOD)%PNR(NSEALM) ) 825 ! 826 WADATS(IMOD)%PHS = UNDEF 827 WADATS(IMOD)%PTP = UNDEF 828 WADATS(IMOD)%PLP = UNDEF 829 WADATS(IMOD)%PTH = UNDEF 830 WADATS(IMOD)%PSI = UNDEF 831 WADATS(IMOD)%PWS = UNDEF 832 WADATS(IMOD)%PWST = UNDEF 833 WADATS(IMOD)%PNR = UNDEF 834 ! 835 ! 5) Atmosphere-waves layer 836 ! 837 ! Frcition velocity UST and USTDIR in W3WDATMD 838 ! 839 ALLOCATE ( WADATS(IMOD)%CHARN (NSEALM), & 840 WADATS(IMOD)%CGE (NSEALM), & 841 WADATS(IMOD)%PHIAW (NSEALM), & 842 WADATS(IMOD)%TAUWIX (NSEALM), & 843 WADATS(IMOD)%TAUWIY (NSEALM), & 844 WADATS(IMOD)%TAUWNX (NSEALM), & 845 WADATS(IMOD)%TAUWNY (NSEALM), & 846 WADATS(IMOD)%WHITECAP(NSEALM,4) ) 847 ! 848 WADATS(IMOD)%CHARN = UNDEF 849 WADATS(IMOD)%CGE = UNDEF 850 WADATS(IMOD)%PHIAW = UNDEF 851 WADATS(IMOD)%TAUWIX = UNDEF Page 19 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 852 WADATS(IMOD)%TAUWIY = UNDEF 853 WADATS(IMOD)%TAUWNX = UNDEF 854 WADATS(IMOD)%TAUWNY = UNDEF 855 WADATS(IMOD)%WHITECAP = UNDEF 856 ! 857 ! 6) Wave-ocean layer 858 ! 859 ALLOCATE ( WADATS(IMOD)%SXX (NSEALM) , & 860 WADATS(IMOD)%SYY (NSEALM) , & 861 WADATS(IMOD)%SXY (NSEALM) , & 862 WADATS(IMOD)%TAUOX (NSEALM) , & 863 WADATS(IMOD)%TAUOY (NSEALM) , & 864 WADATS(IMOD)%BHD (NSEALM) , & 865 WADATS(IMOD)%PHIOC (NSEALM) , & 866 WADATS(IMOD)%TUSX (NSEALM) , & 867 WADATS(IMOD)%TUSY (NSEALM) , & 868 WADATS(IMOD)%USSX (NSEALM) , & 869 WADATS(IMOD)%USSY (NSEALM) , & 870 WADATS(IMOD)%PRMS (NSEALM) , & 871 WADATS(IMOD)%TPMS (NSEALM) ) 872 ! 873 ! For the 3D arrays: the allocation is performed only if these arrays are allowed 874 ! by specific variables defined through the mod_def file 875 ! and read by w3iogr, which is called before W3DIMA. 876 IF ( E3DF(1,1).GT.0 ) & 877 ALLOCATE(WADATS(IMOD)%EF(NSEALM,E3DF(2,1):E3DF(3,1))) 878 IF ( E3DF(1,2).GT.0 ) & 879 ALLOCATE(WADATS(IMOD)%TH1M(NSEALM,E3DF(2,2):E3DF(3,2))) 880 IF ( E3DF(1,3).GT.0 ) & 881 ALLOCATE(WADATS(IMOD)%STH1M(NSEALM,E3DF(2,3):E3DF(3,3))) 882 IF ( E3DF(1,4).GT.0 ) & 883 ALLOCATE(WADATS(IMOD)%TH2M(NSEALM,E3DF(2,4):E3DF(3,5))) 884 IF ( E3DF(1,5).GT.0 ) & 885 ALLOCATE(WADATS(IMOD)%STH2M(NSEALM,E3DF(2,5):E3DF(3,4))) 886 IF ( P2MSF(1).GT.0 ) ALLOCATE(WADATS(IMOD)%P2SMS(NSEALM,P2MSF(2):P2MSF(3))) 887 IF ( US3DF(1).GT.0 ) ALLOCATE(WADATS(IMOD)%US3D(NSEALM,NK*2)) ! maybe use US3DF(2:3) 888 ! 889 WADATS(IMOD)%SXX = UNDEF 890 WADATS(IMOD)%SYY = UNDEF 891 WADATS(IMOD)%SXY = UNDEF 892 WADATS(IMOD)%TAUOX = UNDEF 893 WADATS(IMOD)%TAUOY = UNDEF 894 WADATS(IMOD)%BHD = UNDEF 895 WADATS(IMOD)%PHIOC = UNDEF 896 WADATS(IMOD)%TUSX = UNDEF 897 WADATS(IMOD)%TUSY = UNDEF 898 WADATS(IMOD)%USSX = UNDEF 899 WADATS(IMOD)%USSY = UNDEF 900 WADATS(IMOD)%PRMS = UNDEF 901 WADATS(IMOD)%TPMS = UNDEF 902 IF ( P2MSF(1).GT.0 ) WADATS(IMOD)%P2SMS = UNDEF 903 IF ( US3DF(1).GT.0 ) WADATS(IMOD)%US3D = UNDEF 904 ! 905 ! 7) Wave-bottom layer 906 ! 907 ALLOCATE ( WADATS(IMOD)%ABA(NSEALM) , WADATS(IMOD)%ABD(NSEALM) , & 908 WADATS(IMOD)%UBA(NSEALM) , WADATS(IMOD)%UBD(NSEALM) , & Page 20 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 909 WADATS(IMOD)%BEDFORMS(NSEALM,3), & 910 WADATS(IMOD)%PHIBBL (NSEALM) , & 911 WADATS(IMOD)%TAUBBL (NSEALM,2) ) 912 ! 913 WADATS(IMOD)%ABA = UNDEF 914 WADATS(IMOD)%ABD = UNDEF 915 WADATS(IMOD)%UBA = UNDEF 916 WADATS(IMOD)%UBD = UNDEF 917 WADATS(IMOD)%BEDFORMS = UNDEF 918 WADATS(IMOD)%PHIBBL = UNDEF 919 WADATS(IMOD)%TAUBBL = UNDEF 920 ! 921 ! 8) Spectrum parameters 922 ! 923 ALLOCATE ( WADATS(IMOD)%MSSX(NSEALM), WADATS(IMOD)%MSSY(NSEALM), & 924 WADATS(IMOD)%MSCX(NSEALM), WADATS(IMOD)%MSCY(NSEALM) ) 925 ! 926 WADATS(IMOD)%MSSX = UNDEF 927 WADATS(IMOD)%MSSY = UNDEF 928 WADATS(IMOD)%MSCX = UNDEF 929 WADATS(IMOD)%MSCY = UNDEF 930 ! 931 ! 9) Numerical diagnostics 932 ! 933 ALLOCATE ( WADATS(IMOD)%DTDYN (NSEALM) , & 934 WADATS(IMOD)%FCUT (NSEALM) , & 935 WADATS(IMOD)%CFLXYMAX(NSEALM) , & 936 WADATS(IMOD)%CFLTHMAX(NSEALM) , & 937 WADATS(IMOD)%CFLKMAX (NSEALM) ) 938 ! 939 WADATS(IMOD)%DTDYN = UNDEF 940 WADATS(IMOD)%FCUT = UNDEF 941 WADATS(IMOD)%CFLXYMAX = UNDEF 942 WADATS(IMOD)%CFLTHMAX = UNDEF 943 WADATS(IMOD)%CFLKMAX = UNDEF 944 ! 945 ! 10) User defined 946 ! 947 ALLOCATE ( WADATS(IMOD)%USERO(NSEALM,NOEXTR) ) 948 ! 949 WADATS(IMOD)%USERO = UNDEF 950 ! 951 IF ( FL_ALL ) THEN 952 ! 953 ALLOCATE ( WADATS(IMOD)%CG(0:NK+1,0:NSEA) , & 954 WADATS(IMOD)%WN(0:NK+1,0:NSEA) ) 955 ! 956 IF ( FLCUR ) ALLOCATE ( WADATS(IMOD)%CA0(NSEA) , & 957 WADATS(IMOD)%CAI(NSEA) , & 958 WADATS(IMOD)%CD0(NSEA) , & 959 WADATS(IMOD)%CDI(NSEA) ) 960 ! 961 IF ( FLWIND ) ALLOCATE ( WADATS(IMOD)%UA0(NSEA) , & 962 WADATS(IMOD)%UAI(NSEA) , & 963 WADATS(IMOD)%UD0(NSEA) , & 964 WADATS(IMOD)%UDI(NSEA) , & 965 WADATS(IMOD)%AS0(NSEA) , & Page 21 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 966 WADATS(IMOD)%ASI(NSEA) ) 967 ! 968 ALLOCATE ( WADATS(IMOD)%ATRNX(NY*NX,-1:1) , & 969 WADATS(IMOD)%ATRNY(NY*NX,-1:1) ) 970 ! 971 ALLOCATE ( WADATS(IMOD)%DDDX(NY,NX) , & 972 WADATS(IMOD)%DDDY(NY,NX) , & 973 WADATS(IMOD)%DCDX(0:NK+1,NY,NX) , & 974 WADATS(IMOD)%DCDY(0:NK+1,NY,NX) , & 975 WADATS(IMOD)%DCXDX(NY,NX) , & 976 WADATS(IMOD)%DCYDX(NY,NX) , & 977 WADATS(IMOD)%DCXDY(NY,NX) , & 978 WADATS(IMOD)%DCYDY(NY,NX) ) 979 ! 980 ALLOCATE ( WADATS(IMOD)%ALPHA(NK,NSEAL) ) 981 ! 982 IF (GTYPE .EQ. UNGTYPE) THEN 983 ALLOCATE( WADATS(IMOD)%ITER(NK,NTH)) 984 END IF 985 ! 986 ALLOCATE ( WADATS(IMOD)%MAPX2(NY*NX) , & 987 WADATS(IMOD)%MAPY2(NY*NX) , & 988 WADATS(IMOD)%MAPAXY(NY*NX) , & 989 WADATS(IMOD)%MAPCXY(NSEA) , & 990 WADATS(IMOD)%MAPTH2((NK+2)*NTH) , & 991 WADATS(IMOD)%MAPWN2(NSPEC+NTH) , & 992 WADATS(IMOD)%MAPTRN(NY*NX) ) 993 WADATS(IMOD)%MAPTH2 = 0 994 ! 995 ALLOCATE ( WADATS(IMOD)%IAPPRO(NSPEC) , & 996 WADATS(IMOD)%SPPNT(NTH,NK,4) ) 997 ! 998 END IF 999 ! 1000 WADATS(IMOD)%AINIT = .TRUE. 1001 ! 1002 ! -------------------------------------------------------------------- / 1003 ! 3. Point to allocated arrays 1004 ! 1005 CALL W3SETA ( IMOD, NDSE, NDST ) 1006 ! 1007 ! -------------------------------------------------------------------- / 1008 ! 4. Update counters in grid 1009 ! 1010 ! -------------------------------------------------------------------- / 1011 ! 5. Restore previous grid setting if necessary 1012 ! 1013 IF ( JGRID .NE. IMOD ) CALL W3SETG ( JGRID, NDSE, NDST ) 1014 ! 1015 RETURN 1016 ! 1017 ! Formats 1018 ! 1019 1001 FORMAT (/' *** ERROR W3DIMA : GRIDS NOT INITIALIZED *** '/ & 1020 ' RUN W3NMOD FIRST '/) 1021 1002 FORMAT (/' *** ERROR W3DIMA : ILLEGAL MODEL NUMBER *** '/ & 1022 ' IMOD = ',I10/ & Page 22 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 1023 ' NADATA = ',I10/) 1024 1003 FORMAT (/' *** ERROR W3DIMA : ARRAY(S) ALREADY ALLOCATED *** ') 1025 ! 1026 !/ 1027 !/ End of W3DIMA ----------------------------------------------------- / 1028 !/ 1029 END SUBROUTINE W3DIMA ENTRY POINTS Name w3adatmd_mp_w3dima_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 1019 733 1002 Label 1021 738 1003 Label 1024 743 ABA Local 907 R(4) 4 1 1 PTR 907,913,1905 ABD Local 907 R(4) 4 1 1 PTR 907,914,1906 ALPHA Local 980 R(4) 4 2 1 PTR 980,1943 AS Local 772 R(4) 4 1 1 PTR 772,1849 AS0 Local 965 R(4) 4 1 1 PTR 965,1957 ASI Local 966 R(4) 4 1 1 PTR 966,1958 ATRNX Local 968 R(4) 4 2 1 PTR 968,1931 ATRNY Local 969 R(4) 4 2 1 PTR 969,1932 BEDFORMS Local 909 R(4) 4 2 1 PTR 909,917,1909 BHD Local 864 R(4) 4 1 1 PTR 864,894,1894 CA0 Local 956 R(4) 4 1 1 PTR 956,1946 CAI Local 957 R(4) 4 1 1 PTR 957,1947 CD0 Local 958 R(4) 4 1 1 PTR 958,1948 CDI Local 959 R(4) 4 1 1 PTR 959,1949 CFLKMAX Local 937 R(4) 4 1 1 PTR 937,943,1922 CFLTHMAX Local 936 R(4) 4 1 1 PTR 936,942,1921 CFLXYMAX Local 935 R(4) 4 1 1 PTR 935,941,1920 CG Local 953 R(4) 4 2 1 PTR 953,1928 CGE Local 840 R(4) 4 1 1 PTR 840,849,1881 CHARN Local 839 R(4) 4 1 1 PTR 839,848,1880 CX Local 766 R(4) 4 1 1 PTR 766,767,1850 CY Local 766 R(4) 4 1 1 PTR 766,768,1851 DCDX Local 973 R(4) 4 3 1 PTR 973,1936 DCDY Local 974 R(4) 4 3 1 PTR 974,1937 DCXDX Local 975 R(4) 4 2 1 PTR 975,1938 DCXDY Local 977 R(4) 4 2 1 PTR 977,1940 DCYDX Local 976 R(4) 4 2 1 PTR 976,1939 DCYDY Local 978 R(4) 4 2 1 PTR 978,1941 DDDX Local 971 R(4) 4 2 1 PTR 971,1934 DDDY Local 972 R(4) 4 2 1 PTR 972,1935 DTDYN Local 933 R(4) 4 1 1 PTR 933,939,1918 DW Local 763 R(4) 4 1 1 PTR 763,764,1844 D_ONLY Dummy 625 L(4) 4 scalar ARG,IN 726,727 E3DF Local 703 I(4) 4 2 1 PTR 703,805,806,807,808,809,876,877,87 Page 23 Source Listing W3DIMA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 8,879,880,881,882,883,884,885 EF Local 805 R(4) 4 2 1 PTR 805,810,877,1865 EXTCDE Subr 707 707,734,739,744 FCUT Local 934 R(4) 4 1 1 PTR 934,940,1919 FLCUR Local 706 L(4) 4 scalar PTR 706,956 FLOGR2 Local 705 L(4) 4 2 1 PTR 705 FLOGRD Local 705 L(4) 4 2 1 PTR 705 FLWIND Local 706 L(4) 4 scalar PTR 706,961 FL_ALL Local 727 L(4) 4 scalar PTR 727,729,951,1805,1926 FP0 Local 786 R(4) 4 1 1 PTR 786,796,1858 FP1 Local 788 R(4) 4 1 1 PTR 788,800,1862 GTYPE Local 703 I(4) 4 scalar PTR 703,982 HS Local 784 R(4) 4 1 1 PTR 784,791,1853 IAPPRO Local 995 I(4) 4 1 1 PTR 995,1971 IAPROC Local 704 I(4) 4 scalar PTR 704 IGRID Local 702 I(4) 4 scalar 702,747 IMOD Dummy 625 I(4) 4 scalar ARG,IN 737,738,742,748,754,763,764,766,76 7,768,770,771,772,784,785,786,787, 788,789,791,792,793,794,795,796,79 7,798,799,800,801,805,806,807,808, 809,810,811,812,813,814,818,819,82 0,821,822,823,824,826,827,828,829, 830,831,832,833,839,840,841,842,84 3,844,845,846,848,849,850,851,852, 853,854,855,859,860,861,862,863,86 4,865,866,867,868,869,870,871,877, 879,881,883,885,886,887,889,890,89 1,892,893,894,895,896,897,898,899, 900,901,902,903,907,908,909,910,91 1,913,914,915,916,917,918,919,923, 924,926,927,928,929,933,934,935,93 6,937,939,940,941,942,943,947,949, 953,954,956,957,958,959,961,962,96 3,964,965,966,968,969,971,972,973, 974,975,976,977,978,980,983,986,98 7,988,989,990,991,992,993,995,996, 1000,1005,1013 ITER Local 983 I(4) 4 2 1 PTR 983,1969 JGRID Local 720 I(4) 4 scalar 747,748,1013 MAPAXY Local 988 I(4) 4 1 1 PTR 988,1963 MAPCXY Local 989 I(4) 4 1 1 PTR 989,1964 MAPTH2 Local 990 I(4) 4 1 1 PTR 990,993,1965 MAPTRN Local 992 L(4) 4 1 1 PTR 992,1967 MAPWN2 Local 991 I(4) 4 1 1 PTR 991,1966 MAPX2 Local 986 I(4) 4 1 1 PTR 986,1961 MAPY2 Local 987 I(4) 4 1 1 PTR 987,1962 MSCX Local 924 R(4) 4 1 1 PTR 924,928,1915 MSCY Local 924 R(4) 4 1 1 PTR 924,929,1916 MSSX Local 923 R(4) 4 1 1 PTR 923,926,1913 MSSY Local 923 R(4) 4 1 1 PTR 923,927,1914 NAPFLD Local 704 I(4) 4 scalar PTR 704 NAPROC Local 704 I(4) 4 scalar PTR 704,757 NDSE Dummy 625 I(4) 4 scalar ARG,IN 733,738,743,748,754,1005,1013 NDST Dummy 625 I(4) 4 scalar ARG,IN 748,754,1005,1013 NGRIDS Local 702 I(4) 4 scalar 702,732 Page 24 Source Listing W3DIMA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References NK Local 702 I(4) 4 scalar PTR 702,887,953,954,973,974,980,983,99 0,996 NOEXTR Param 705 I(4) 4 scalar 705,947 NOSWLL Local 705 I(4) 4 scalar PTR 705,818,819,820,821,822,823 NSEA Local 702 I(4) 4 scalar PTR 702,756,763,766,770,771,772,953,95 4,956,957,958,959,961,962,963,964, 965,966,989 NSEAL Local 703 I(4) 4 scalar PTR 703,980 NSEALM Local 756 I(4) 4 scalar PTR 756,757,784,785,786,787,788,789,80 5,806,807,808,809,818,819,820,821, 822,823,824,839,840,841,842,843,84 4,845,846,859,860,861,862,863,864, 865,866,867,868,869,870,871,877,87 9,881,883,885,886,887,907,908,909, 910,911,923,924,933,934,935,936,93 7,947,1095,1096,1800 NSPEC Local 703 I(4) 4 scalar PTR 703,991,995 NTH Local 703 I(4) 4 scalar PTR 703,983,990,991,996 NTPROC Local 704 I(4) 4 scalar PTR 704 NX Local 702 I(4) 4 scalar PTR 702,968,969,971,972,973,974,975,97 6,977,978,986,987,988,992 NXXX Local 720 I(4) 4 scalar 757 NY Local 702 I(4) 4 scalar PTR 702,968,969,971,972,973,974,975,97 6,977,978,986,987,988,992 P2MSF Local 703 I(4) 4 1 1 PTR 703,886,902 P2SMS Local 886 R(4) 4 2 1 PTR 886,902,1902 PHIAW Local 841 R(4) 4 1 1 PTR 841,850,1882 PHIBBL Local 910 R(4) 4 1 1 PTR 910,918,1910 PHIOC Local 865 R(4) 4 1 1 PTR 865,895,1895 PHS Local 818 R(4) 4 2 1 PTR 818,826,1871 PLP Local 820 R(4) 4 2 1 PTR 820,828,1873 PNR Local 824 R(4) 4 1 1 PTR 824,833,1878 PRESENT Func 726 scalar 726 PRMS Local 870 R(4) 4 1 1 PTR 870,900,1900 PSI Local 822 R(4) 4 2 1 PTR 822,830,1875 PTH Local 821 R(4) 4 2 1 PTR 821,829,1874 PTP Local 819 R(4) 4 2 1 PTR 819,827,1872 PWS Local 823 R(4) 4 2 1 PTR 823,831,1876 PWST Local 824 R(4) 4 1 1 PTR 824,832,1877 SPPNT Local 996 R(4) 4 3 1 PTR 996,1972 STH1M Local 807 R(4) 4 2 1 PTR 807,812,881,1867 STH2M Local 809 R(4) 4 2 1 PTR 809,814,885,1869 SXX Local 859 R(4) 4 1 1 PTR 859,889,1889 SXY Local 861 R(4) 4 1 1 PTR 861,891,1891 SYY Local 860 R(4) 4 1 1 PTR 860,890,1890 T01 Local 786 R(4) 4 1 1 PTR 786,795,1857 T02 Local 785 R(4) 4 1 1 PTR 785,793,1855 T0M1 Local 785 R(4) 4 1 1 PTR 785,794,1856 TAUBBL Local 911 R(4) 4 2 1 PTR 911,919,1911 TAUOX Local 862 R(4) 4 1 1 PTR 862,892,1892 TAUOY Local 863 R(4) 4 1 1 PTR 863,893,1893 TAUWIX Local 842 R(4) 4 1 1 PTR 842,851,1883 TAUWIY Local 843 R(4) 4 1 1 PTR 843,852,1884 TAUWNX Local 844 R(4) 4 1 1 PTR 844,853,1885 TAUWNY Local 845 R(4) 4 1 1 PTR 845,854,1886 Page 25 Source Listing W3DIMA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References TH1M Local 806 R(4) 4 2 1 PTR 806,811,879,1866 TH2M Local 808 R(4) 4 2 1 PTR 808,813,883,1868 THM Local 787 R(4) 4 1 1 PTR 787,797,1859 THP0 Local 788 R(4) 4 1 1 PTR 788,799,1861 THP1 Local 789 R(4) 4 1 1 PTR 789,801,1863 THS Local 787 R(4) 4 1 1 PTR 787,798,1860 TPMS Local 871 R(4) 4 1 1 PTR 871,901,1901 TUSX Local 866 R(4) 4 1 1 PTR 866,896,1896 TUSY Local 867 R(4) 4 1 1 PTR 867,897,1897 U10 Local 771 R(4) 4 1 1 PTR 771,1847 U10D Local 771 R(4) 4 1 1 PTR 771,1848 UA Local 770 R(4) 4 1 1 PTR 770,1845 UA0 Local 961 R(4) 4 1 1 PTR 961,1953 UAI Local 962 R(4) 4 1 1 PTR 962,1954 UBA Local 908 R(4) 4 1 1 PTR 908,915,1907 UBD Local 908 R(4) 4 1 1 PTR 908,916,1908 UD Local 770 R(4) 4 1 1 PTR 770,1846 UD0 Local 963 R(4) 4 1 1 PTR 963,1955 UDI Local 964 R(4) 4 1 1 PTR 964,1956 UNDEF Local 705 R(4) 4 scalar 705,791,792,793,794,795,796,797,79 8,799,800,801,810,811,812,813,814, 826,827,828,829,830,831,832,833,84 8,849,850,851,852,853,854,855,889, 890,891,892,893,894,895,896,897,89 8,899,900,901,902,903,913,914,915, 916,917,918,919,926,927,928,929,93 9,940,941,942,943,949 UNGTYPE Param 703 I(4) 4 scalar 703,982 US3D Local 887 R(4) 4 2 1 PTR 887,903,1903 US3DF Local 703 I(4) 4 1 1 PTR 703,887,903 USERO Local 947 R(4) 4 2 1 PTR 947,949,1924 USSX Local 868 R(4) 4 1 1 PTR 868,898,1898 USSY Local 869 R(4) 4 1 1 PTR 869,899,1899 W3DIMA Subr 625 W3GDATMD Module 702 702 W3IDATMD Module 706 706 W3ODATMD Module 704 704 W3SERVMD Module 707 707 W3SETG Subr 702 702,748,1013 WHITECAP Local 846 R(4) 4 2 1 PTR 846,855,1887 WLM Local 784 R(4) 4 1 1 PTR 784,792,1854 WN Local 954 R(4) 4 2 1 PTR 954,1929 Page 26 Source Listing W3DIMA 2014-09-16 16:50 w3adatmd.f90 1030 !/ ------------------------------------------------------------------- / 1031 SUBROUTINE W3XDMA ( IMOD, NDSE, NDST, FLAGS ) 1032 !/ 1033 !/ +-----------------------------------+ 1034 !/ | WAVEWATCH III NOAA/NCEP | 1035 !/ | H. L. Tolman | 1036 !/ | FORTRAN 90 | 1037 !/ | Last update : 26-Dec-2012 ! 1038 !/ +-----------------------------------+ 1039 !/ 1040 !/ 26-Dec-2012 : Origination. ( version 3.06 ) 1041 !/ 1042 ! 1. Purpose : 1043 ! 1044 ! Version of W3DIMX for extended ouput arrays only. 1045 ! 1046 ! 10. Source code : 1047 ! 1048 !/ ------------------------------------------------------------------- / 1049 USE W3GDATMD, ONLY: NGRIDS, IGRID, W3SETG, NK, NX, NY, NSEA, & 1050 NSEAL, NSPEC, NTH, E3DF, P2MSF, US3DF, GTYPE, UNGTYPE 1051 USE W3ODATMD, ONLY: IAPROC, NAPROC, NTPROC, NAPFLD, & 1052 NOSWLL, NOEXTR, UNDEF, FLOGRD, FLOGR2, & 1053 NOGRP, NGRPP 1054 USE W3IDATMD, ONLY: FLCUR, FLWIND 1055 USE W3SERVMD, ONLY: EXTCDE 1056 ! 1057 IMPLICIT NONE 1058 !/ 1059 !/ ------------------------------------------------------------------- / 1060 !/ Parameter list 1061 !/ 1062 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST 1063 LOGICAL, INTENT(IN) :: FLAGS(NOGRP,NGRPP) 1064 !/ 1065 !/ ------------------------------------------------------------------- / 1066 !/ Local parameters 1067 !/ 1068 INTEGER :: JGRID, NXXX, I 1069 !/ 1070 ! 1071 ! -------------------------------------------------------------------- / 1072 ! 1. Test input and module status 1073 ! 1074 IF ( NGRIDS .EQ. -1 ) THEN 1075 WRITE (NDSE,1001) 1076 CALL EXTCDE (1) 1077 END IF 1078 ! 1079 IF ( IMOD.LT.1 .OR. IMOD.GT.NADATA ) THEN 1080 WRITE (NDSE,1002) IMOD, NADATA 1081 CALL EXTCDE (2) 1082 END IF 1083 ! 1084 IF ( WADATS(IMOD)%AINIT2 ) THEN 1085 WRITE (NDSE,1003) 1086 CALL EXTCDE (3) Page 27 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1087 END IF 1088 ! 1089 JGRID = IGRID 1090 IF ( JGRID .NE. IMOD ) CALL W3SETG ( IMOD, NDSE, NDST ) 1091 ! 1092 ! -------------------------------------------------------------------- / 1093 ! 2. Allocate arrays 1094 ! 1095 NSEALM = NSEA 1096 NXXX = NSEALM * NAPROC 1097 ! 1098 IF ( FLAGS( 2, 1) ) THEN 1099 ALLOCATE ( WADATS(IMOD)%XHS(NXXX) ) 1100 ELSE 1101 ALLOCATE ( WADATS(IMOD)%XHS(1) ) 1102 END IF 1103 ! 1104 IF ( FLAGS( 2, 2) ) THEN 1105 ALLOCATE ( WADATS(IMOD)%XWLM(NXXX) ) 1106 ELSE 1107 ALLOCATE ( WADATS(IMOD)%XWLM(1) ) 1108 END IF 1109 ! 1110 IF ( FLAGS( 2, 3) ) THEN 1111 ALLOCATE ( WADATS(IMOD)%XT02(NXXX) ) 1112 ELSE 1113 ALLOCATE ( WADATS(IMOD)%XT02(1) ) 1114 END IF 1115 ! 1116 IF ( FLAGS( 2, 4) ) THEN 1117 ALLOCATE ( WADATS(IMOD)%XT0M1(NXXX) ) 1118 ELSE 1119 ALLOCATE ( WADATS(IMOD)%XT0M1(1) ) 1120 END IF 1121 ! 1122 IF ( FLAGS( 2, 5) ) THEN 1123 ALLOCATE ( WADATS(IMOD)%XT01 (NXXX) ) 1124 ELSE 1125 ALLOCATE ( WADATS(IMOD)%XT01 (1) ) 1126 END IF 1127 ! 1128 IF ( FLAGS( 2, 6) ) THEN 1129 ALLOCATE ( WADATS(IMOD)%XFP0(NXXX) ) 1130 ELSE 1131 ALLOCATE ( WADATS(IMOD)%XFP0(1) ) 1132 END IF 1133 ! 1134 IF ( FLAGS( 2, 7) ) THEN 1135 ALLOCATE ( WADATS(IMOD)%XTHM(NXXX) ) 1136 ELSE 1137 ALLOCATE ( WADATS(IMOD)%XTHM(1) ) 1138 END IF 1139 ! 1140 IF ( FLAGS( 2, 8) ) THEN 1141 ALLOCATE ( WADATS(IMOD)%XTHS(NXXX) ) 1142 ELSE 1143 ALLOCATE ( WADATS(IMOD)%XTHS(1) ) Page 28 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1144 END IF 1145 ! 1146 IF ( FLAGS( 2, 9) ) THEN 1147 ALLOCATE ( WADATS(IMOD)%XTHP0(NXXX) ) 1148 ELSE 1149 ALLOCATE ( WADATS(IMOD)%XTHP0(1) ) 1150 END IF 1151 ! 1152 ! IF ( FLAGS( 2,xx) ) THEN 1153 ! ALLOCATE ( WADATS(IMOD)%XFP1(NXXX) ) 1154 ! ELSE 1155 ! ALLOCATE ( WADATS(IMOD)%XFP1(1) ) 1156 ! END IF 1157 ! 1158 ! IF ( FLAGS( 2,xx) ) THEN 1159 ! ALLOCATE ( WADATS(IMOD)%XTHP1(NXXX) ) 1160 ! ELSE 1161 ! ALLOCATE ( WADATS(IMOD)%XTHP1(1) ) 1162 ! END IF 1163 ! 1164 WADATS(IMOD)%XHS = UNDEF 1165 WADATS(IMOD)%XWLM = UNDEF 1166 WADATS(IMOD)%XT02 = UNDEF 1167 WADATS(IMOD)%XT0M1 = UNDEF 1168 WADATS(IMOD)%XT01 = UNDEF 1169 WADATS(IMOD)%XFP0 = UNDEF 1170 WADATS(IMOD)%XTHM = UNDEF 1171 WADATS(IMOD)%XTHS = UNDEF 1172 WADATS(IMOD)%XTHP0 = UNDEF 1173 ! WADATS(IMOD)%XFP1 = UNDEF 1174 ! WADATS(IMOD)%XTHP1 = UNDEF 1175 ! 1176 IF ( FLAGS( 3, 1) ) THEN 1177 ALLOCATE ( WADATS(IMOD)%XEF(NXXX,E3DF(2,1):E3DF(3,1))) 1178 ELSE 1179 ALLOCATE ( WADATS(IMOD)%XEF(1,1)) 1180 END IF 1181 1182 IF ( FLAGS( 3, 2) ) THEN 1183 ALLOCATE ( WADATS(IMOD)%XTH1M(NXXX,E3DF(2,2):E3DF(3,2))) 1184 ELSE 1185 ALLOCATE ( WADATS(IMOD)%XTH1M(1,1) ) 1186 END IF 1187 1188 IF ( FLAGS( 3, 3) ) THEN 1189 ALLOCATE ( WADATS(IMOD)%XSTH1M(NXXX,E3DF(2,3):E3DF(3,3))) 1190 ELSE 1191 ALLOCATE ( WADATS(IMOD)%XSTH1M(1,1) ) 1192 END IF 1193 1194 IF ( FLAGS( 3, 4) ) THEN 1195 ALLOCATE ( WADATS(IMOD)%XTH2M(NXXX,E3DF(2,4):E3DF(3,4))) 1196 ELSE 1197 ALLOCATE ( WADATS(IMOD)%XTH2M(1,1) ) 1198 END IF 1199 ! 1200 IF ( FLAGS( 3, 5) ) THEN Page 29 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1201 ALLOCATE ( WADATS(IMOD)%XSTH2M(NXXX,E3DF(2,5):E3DF(3,5))) 1202 ELSE 1203 ALLOCATE ( WADATS(IMOD)%XSTH2M(1,1) ) 1204 END IF 1205 ! 1206 WADATS(IMOD)%XEF = UNDEF 1207 ! 1208 IF ( FLAGS( 4, 1) ) THEN 1209 ALLOCATE ( WADATS(IMOD)%XPHS(NXXX,0:NOSWLL) ) 1210 ELSE 1211 ALLOCATE ( WADATS(IMOD)%XPHS(1,1) ) 1212 END IF 1213 ! 1214 IF ( FLAGS( 4, 2) ) THEN 1215 ALLOCATE ( WADATS(IMOD)%XPTP(NXXX,0:NOSWLL) ) 1216 ELSE 1217 ALLOCATE ( WADATS(IMOD)%XPTP(1,1) ) 1218 END IF 1219 ! 1220 IF ( FLAGS( 4, 3) ) THEN 1221 ALLOCATE ( WADATS(IMOD)%XPLP(NXXX,0:NOSWLL) ) 1222 ELSE 1223 ALLOCATE ( WADATS(IMOD)%XPLP(1,1) ) 1224 END IF 1225 ! 1226 IF ( FLAGS( 4, 4) ) THEN 1227 ALLOCATE ( WADATS(IMOD)%XPTH(NXXX,0:NOSWLL) ) 1228 ELSE 1229 ALLOCATE ( WADATS(IMOD)%XPTH(1,1) ) 1230 END IF 1231 ! 1232 IF ( FLAGS( 4, 5) ) THEN 1233 ALLOCATE ( WADATS(IMOD)%XPSI(NXXX,0:NOSWLL) ) 1234 ELSE 1235 ALLOCATE ( WADATS(IMOD)%XPSI(1,1) ) 1236 END IF 1237 ! 1238 IF ( FLAGS( 4, 6) ) THEN 1239 ALLOCATE ( WADATS(IMOD)%XPWS(NXXX,0:NOSWLL) ) 1240 ELSE 1241 ALLOCATE ( WADATS(IMOD)%XPWS(1,1) ) 1242 END IF 1243 ! 1244 IF ( FLAGS( 4, 7) ) THEN 1245 ALLOCATE ( WADATS(IMOD)%XPWST(NXXX) ) 1246 ELSE 1247 ALLOCATE ( WADATS(IMOD)%XPWST(1) ) 1248 END IF 1249 ! 1250 IF ( FLAGS( 4, 8) ) THEN 1251 ALLOCATE ( WADATS(IMOD)%XPNR(NXXX) ) 1252 ELSE 1253 ALLOCATE ( WADATS(IMOD)%XPNR(1) ) 1254 END IF 1255 ! 1256 WADATS(IMOD)%XPHS = UNDEF 1257 WADATS(IMOD)%XPTP = UNDEF Page 30 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1258 WADATS(IMOD)%XPLP = UNDEF 1259 WADATS(IMOD)%XPTH = UNDEF 1260 WADATS(IMOD)%XPSI = UNDEF 1261 WADATS(IMOD)%XPWS = UNDEF 1262 WADATS(IMOD)%XPWST = UNDEF 1263 WADATS(IMOD)%XPNR = UNDEF 1264 ! 1265 IF ( FLAGS( 5, 2) ) THEN 1266 ALLOCATE ( WADATS(IMOD)%XCHARN(NXXX) ) 1267 ELSE 1268 ALLOCATE ( WADATS(IMOD)%XCHARN(1) ) 1269 END IF 1270 ! 1271 IF ( FLAGS( 5, 3) ) THEN 1272 ALLOCATE ( WADATS(IMOD)%XCGE(NXXX) ) 1273 ELSE 1274 ALLOCATE ( WADATS(IMOD)%XCGE(1) ) 1275 END IF 1276 ! 1277 IF ( FLAGS( 5, 4) ) THEN 1278 ALLOCATE ( WADATS(IMOD)%XPHIAW(NXXX) ) 1279 ELSE 1280 ALLOCATE ( WADATS(IMOD)%XPHIAW(1) ) 1281 END IF 1282 ! 1283 IF ( FLAGS( 5, 5) ) THEN 1284 ALLOCATE ( WADATS(IMOD)%XTAUWIX(NXXX) ) 1285 ALLOCATE ( WADATS(IMOD)%XTAUWIY(NXXX) ) 1286 ELSE 1287 ALLOCATE ( WADATS(IMOD)%XTAUWIX(1) ) 1288 ALLOCATE ( WADATS(IMOD)%XTAUWIY(1) ) 1289 END IF 1290 ! 1291 IF ( FLAGS( 5, 6) ) THEN 1292 ALLOCATE ( WADATS(IMOD)%XTAUWNX(NXXX) ) 1293 ALLOCATE ( WADATS(IMOD)%XTAUWNY(NXXX) ) 1294 ELSE 1295 ALLOCATE ( WADATS(IMOD)%XTAUWNX(1) ) 1296 ALLOCATE ( WADATS(IMOD)%XTAUWNY(1) ) 1297 END IF 1298 ! 1299 IF ( FLAGS( 5, 7) .OR. FLAGS( 5, 8) .OR. & 1300 FLAGS( 5, 9) .OR. FLAGS( 5,10)) THEN 1301 ALLOCATE ( WADATS(IMOD)%XWHITECAP(NXXX,4) ) 1302 ELSE 1303 ALLOCATE ( WADATS(IMOD)%XWHITECAP(1,4) ) 1304 END IF 1305 ! 1306 WADATS(IMOD)%XCHARN = UNDEF 1307 WADATS(IMOD)%XCGE = UNDEF 1308 WADATS(IMOD)%XPHIAW = UNDEF 1309 WADATS(IMOD)%XTAUWIX = UNDEF 1310 WADATS(IMOD)%XTAUWIY = UNDEF 1311 WADATS(IMOD)%XTAUWNX = UNDEF 1312 WADATS(IMOD)%XTAUWNY = UNDEF 1313 WADATS(IMOD)%XWHITECAP = UNDEF 1314 ! Page 31 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1315 IF ( FLAGS( 6, 1) ) THEN 1316 ALLOCATE ( WADATS(IMOD)%XSXX(NXXX) ) 1317 ALLOCATE ( WADATS(IMOD)%XSYY(NXXX) ) 1318 ALLOCATE ( WADATS(IMOD)%XSXY(NXXX) ) 1319 ELSE 1320 ALLOCATE ( WADATS(IMOD)%XSXX(1) ) 1321 ALLOCATE ( WADATS(IMOD)%XSYY(1) ) 1322 ALLOCATE ( WADATS(IMOD)%XSXY(1) ) 1323 END IF 1324 ! 1325 IF ( FLAGS( 6, 2) ) THEN 1326 ALLOCATE ( WADATS(IMOD)%XTAUOX(NXXX) ) 1327 ALLOCATE ( WADATS(IMOD)%XTAUOY(NXXX) ) 1328 ELSE 1329 ALLOCATE ( WADATS(IMOD)%XTAUOX(1) ) 1330 ALLOCATE ( WADATS(IMOD)%XTAUOY(1) ) 1331 END IF 1332 ! 1333 IF ( FLAGS( 6, 3) ) THEN 1334 ALLOCATE ( WADATS(IMOD)%XBHD(NXXX) ) 1335 ELSE 1336 ALLOCATE ( WADATS(IMOD)%XBHD(1) ) 1337 END IF 1338 ! 1339 IF ( FLAGS( 6, 4) ) THEN 1340 ALLOCATE ( WADATS(IMOD)%XPHIOC(NXXX) ) 1341 ELSE 1342 ALLOCATE ( WADATS(IMOD)%XPHIOC(1) ) 1343 END IF 1344 ! 1345 IF ( FLAGS( 6, 5) ) THEN 1346 ALLOCATE ( WADATS(IMOD)%XTUSX(NXXX) ) 1347 ALLOCATE ( WADATS(IMOD)%XTUSY(NXXX) ) 1348 ELSE 1349 ALLOCATE ( WADATS(IMOD)%XTUSX(1) ) 1350 ALLOCATE ( WADATS(IMOD)%XTUSY(1) ) 1351 END IF 1352 ! 1353 IF ( FLAGS( 6, 6) ) THEN 1354 ALLOCATE ( WADATS(IMOD)%XUSSX(NXXX) ) 1355 ALLOCATE ( WADATS(IMOD)%XUSSY(NXXX) ) 1356 ELSE 1357 ALLOCATE ( WADATS(IMOD)%XUSSX(1) ) 1358 ALLOCATE ( WADATS(IMOD)%XUSSY(1) ) 1359 END IF 1360 ! 1361 IF ( FLAGS( 6, 7) ) THEN 1362 ALLOCATE ( WADATS(IMOD)%XPRMS(NXXX) ) 1363 ALLOCATE ( WADATS(IMOD)%XTPMS(NXXX) ) 1364 ELSE 1365 ALLOCATE ( WADATS(IMOD)%XPRMS(1) ) 1366 ALLOCATE ( WADATS(IMOD)%XTPMS(1) ) 1367 END IF 1368 ! 1369 IF ( FLAGS( 6, 8) ) THEN 1370 ALLOCATE ( WADATS(IMOD)%XUS3D(NXXX,2*NK) ) 1371 ELSE Page 32 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1372 ALLOCATE ( WADATS(IMOD)%XUS3D(1,1) ) 1373 END IF 1374 ! 1375 IF ( FLAGS( 6, 9) ) THEN 1376 ALLOCATE ( WADATS(IMOD)%XP2SMS(NXXX,P2MSF(2):P2MSF(3))) 1377 ELSE 1378 ALLOCATE ( WADATS(IMOD)%XP2SMS(1,1)) 1379 END IF 1380 ! 1381 WADATS(IMOD)%XSXX = UNDEF 1382 WADATS(IMOD)%XSYY = UNDEF 1383 WADATS(IMOD)%XSXY = UNDEF 1384 WADATS(IMOD)%XTAUOX = UNDEF 1385 WADATS(IMOD)%XTAUOY = UNDEF 1386 WADATS(IMOD)%XBHD = UNDEF 1387 WADATS(IMOD)%XPHIOC = UNDEF 1388 WADATS(IMOD)%XTUSX = UNDEF 1389 WADATS(IMOD)%XTUSY = UNDEF 1390 WADATS(IMOD)%XUSSX = UNDEF 1391 WADATS(IMOD)%XUSSY = UNDEF 1392 WADATS(IMOD)%XPRMS = UNDEF 1393 WADATS(IMOD)%XTPMS = UNDEF 1394 WADATS(IMOD)%XUS3D = UNDEF 1395 WADATS(IMOD)%XP2SMS = UNDEF 1396 ! 1397 IF ( FLAGS( 7, 1) ) THEN 1398 ALLOCATE ( WADATS(IMOD)%XABA(NXXX) ) 1399 ALLOCATE ( WADATS(IMOD)%XABD(NXXX) ) 1400 ELSE 1401 ALLOCATE ( WADATS(IMOD)%XABA(1) ) 1402 ALLOCATE ( WADATS(IMOD)%XABD(1) ) 1403 END IF 1404 ! 1405 IF ( FLAGS( 7, 2) ) THEN 1406 ALLOCATE ( WADATS(IMOD)%XUBA(NXXX) ) 1407 ALLOCATE ( WADATS(IMOD)%XUBD(NXXX) ) 1408 ELSE 1409 ALLOCATE ( WADATS(IMOD)%XUBA(1) ) 1410 ALLOCATE ( WADATS(IMOD)%XUBD(1) ) 1411 END IF 1412 ! 1413 IF ( FLAGS( 7, 3) ) THEN 1414 ALLOCATE ( WADATS(IMOD)%XBEDFORMS(NXXX,3) ) 1415 ELSE 1416 ALLOCATE ( WADATS(IMOD)%XBEDFORMS(1,3) ) 1417 END IF 1418 ! 1419 IF ( FLAGS( 7, 4) ) THEN 1420 ALLOCATE ( WADATS(IMOD)%XPHIBBL(NXXX) ) 1421 ELSE 1422 ALLOCATE ( WADATS(IMOD)%XPHIBBL(1) ) 1423 END IF 1424 ! 1425 IF ( FLAGS( 7, 5) ) THEN 1426 ALLOCATE ( WADATS(IMOD)%XTAUBBL(NXXX,2) ) 1427 ELSE 1428 ALLOCATE ( WADATS(IMOD)%XTAUBBL(1,2) ) Page 33 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1429 END IF 1430 ! 1431 WADATS(IMOD)%XABA = UNDEF 1432 WADATS(IMOD)%XABD = UNDEF 1433 WADATS(IMOD)%XUBA = UNDEF 1434 WADATS(IMOD)%XUBD = UNDEF 1435 WADATS(IMOD)%XBEDFORMS = UNDEF 1436 WADATS(IMOD)%XPHIBBL = UNDEF 1437 WADATS(IMOD)%XTAUBBL = UNDEF 1438 ! 1439 IF ( FLAGS( 8, 1) ) THEN 1440 ALLOCATE ( WADATS(IMOD)%XMSSX(NXXX) ) 1441 ALLOCATE ( WADATS(IMOD)%XMSSY(NXXX) ) 1442 ELSE 1443 ALLOCATE ( WADATS(IMOD)%XMSSX(1) ) 1444 ALLOCATE ( WADATS(IMOD)%XMSSY(1) ) 1445 END IF 1446 ! 1447 IF ( FLAGS( 8, 2) ) THEN 1448 ALLOCATE ( WADATS(IMOD)%XMSCX(NXXX) ) 1449 ALLOCATE ( WADATS(IMOD)%XMSCY(NXXX) ) 1450 ELSE 1451 ALLOCATE ( WADATS(IMOD)%XMSCX(1) ) 1452 ALLOCATE ( WADATS(IMOD)%XMSCY(1) ) 1453 END IF 1454 ! 1455 WADATS(IMOD)%XMSSX = UNDEF 1456 WADATS(IMOD)%XMSSY = UNDEF 1457 WADATS(IMOD)%XMSCX = UNDEF 1458 WADATS(IMOD)%XMSCY = UNDEF 1459 ! 1460 IF ( FLAGS( 9, 1) ) THEN 1461 ALLOCATE ( WADATS(IMOD)%XDTDYN(NXXX) ) 1462 ELSE 1463 ALLOCATE ( WADATS(IMOD)%XDTDYN(1) ) 1464 END IF 1465 ! 1466 IF ( FLAGS( 9, 2) ) THEN 1467 ALLOCATE ( WADATS(IMOD)%XFCUT(NXXX) ) 1468 ELSE 1469 ALLOCATE ( WADATS(IMOD)%XFCUT(1) ) 1470 END IF 1471 ! 1472 IF ( FLAGS( 9, 3) ) THEN 1473 ALLOCATE ( WADATS(IMOD)%XCFLXYMAX(NXXX) ) 1474 ELSE 1475 ALLOCATE ( WADATS(IMOD)%XCFLXYMAX(1) ) 1476 END IF 1477 ! 1478 IF ( FLAGS( 9, 4) ) THEN 1479 ALLOCATE ( WADATS(IMOD)%XCFLTHMAX(NXXX) ) 1480 ELSE 1481 ALLOCATE ( WADATS(IMOD)%XCFLTHMAX(1) ) 1482 END IF 1483 ! 1484 IF ( FLAGS( 9, 5) ) THEN 1485 ALLOCATE ( WADATS(IMOD)%XCFLKMAX(NXXX) ) Page 34 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1486 ELSE 1487 ALLOCATE ( WADATS(IMOD)%XCFLKMAX(1) ) 1488 END IF 1489 ! 1490 WADATS(IMOD)%XDTDYN = UNDEF 1491 WADATS(IMOD)%XFCUT = UNDEF 1492 WADATS(IMOD)%XCFLXYMAX = UNDEF 1493 WADATS(IMOD)%XCFLTHMAX = UNDEF 1494 WADATS(IMOD)%XCFLKMAX = UNDEF 1495 ! 1496 DO I=1, NOEXTR 1497 IF ( FLAGS(10, i) ) THEN 1498 ALLOCATE ( WADATS(IMOD)%XUSERO(NXXX,I) ) 1499 ELSE 1500 ALLOCATE ( WADATS(IMOD)%XUSERO(1,I) ) 1501 END IF 1502 END DO 1503 ! 1504 WADATS(IMOD)%XUSERO = UNDEF 1505 ! 1506 WADATS(IMOD)%AINIT2 = .TRUE. 1507 ! 1508 ! -------------------------------------------------------------------- / 1509 ! 5. Restore previous grid setting if necessary 1510 ! 1511 IF ( JGRID .NE. IMOD ) CALL W3SETG ( JGRID, NDSE, NDST ) 1512 ! 1513 RETURN 1514 ! 1515 ! Formats 1516 ! 1517 1001 FORMAT (/' *** ERROR W3XDMA : GRIDS NOT INITIALIZED *** '/ & 1518 ' RUN W3NMOD FIRST '/) 1519 1002 FORMAT (/' *** ERROR W3XDMA : ILLEGAL MODEL NUMBER *** '/ & 1520 ' IMOD = ',I10/ & 1521 ' NADATA = ',I10/) 1522 1003 FORMAT (/' *** ERROR W3XDMA : ARRAY(S) ALREADY ALLOCATED *** ') 1523 ! 1524 !/ 1525 !/ End of W3XDMA ----------------------------------------------------- / 1526 !/ 1527 END SUBROUTINE W3XDMA Page 35 Source Listing W3XDMA 2014-09-16 16:50 Entry Points w3adatmd.f90 ENTRY POINTS Name w3adatmd_mp_w3xdma_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 1517 1075 1002 Label 1519 1080 1003 Label 1522 1085 E3DF Local 1050 I(4) 4 2 1 PTR 1050,1177,1183,1189,1195,1201 EXTCDE Subr 1055 1055,1076,1081,1086 FLAGS Dummy 1031 L(4) 4 2 200 ARG,IN 1098,1104,1110,1116,1122,1128,1134 ,1140,1146,1176,1182,1188,1194,120 0,1208,1214,1220,1226,1232,1238,12 44,1250,1265,1271,1277,1283,1291,1 299,1300,1315,1325,1333,1339,1345, 1353,1361,1369,1375,1397,1405,1413 ,1419,1425,1439,1447,1460,1466,147 2,1478,1484,1497 FLCUR Local 1054 L(4) 4 scalar PTR 1054 FLOGR2 Local 1052 L(4) 4 2 1 PTR 1052 FLOGRD Local 1052 L(4) 4 2 1 PTR 1052 FLWIND Local 1054 L(4) 4 scalar PTR 1054 GTYPE Local 1050 I(4) 4 scalar PTR 1050 I Local 1068 I(4) 4 scalar 1496,1497,1498,1500 IAPROC Local 1051 I(4) 4 scalar PTR 1051 IGRID Local 1049 I(4) 4 scalar 1049,1089 IMOD Dummy 1031 I(4) 4 scalar ARG,IN 1079,1080,1084,1090,1099,1101,1105 ,1107,1111,1113,1117,1119,1123,112 5,1129,1131,1135,1137,1141,1143,11 47,1149,1164,1165,1166,1167,1168,1 169,1170,1171,1172,1177,1179,1183, 1185,1189,1191,1195,1197,1201,1203 ,1206,1209,1211,1215,1217,1221,122 3,1227,1229,1233,1235,1239,1241,12 45,1247,1251,1253,1256,1257,1258,1 259,1260,1261,1262,1263,1266,1268, 1272,1274,1278,1280,1284,1285,1287 ,1288,1292,1293,1295,1296,1301,130 3,1306,1307,1308,1309,1310,1311,13 12,1313,1316,1317,1318,1320,1321,1 322,1326,1327,1329,1330,1334,1336, 1340,1342,1346,1347,1349,1350,1354 ,1355,1357,1358,1362,1363,1365,136 6,1370,1372,1376,1378,1381,1382,13 83,1384,1385,1386,1387,1388,1389,1 390,1391,1392,1393,1394,1395,1398, 1399,1401,1402,1406,1407,1409,1410 ,1414,1416,1420,1422,1426,1428,143 1,1432,1433,1434,1435,1436,1437,14 Page 36 Source Listing W3XDMA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 40,1441,1443,1444,1448,1449,1451,1 452,1455,1456,1457,1458,1461,1463, 1467,1469,1473,1475,1479,1481,1485 ,1487,1490,1491,1492,1493,1494,149 8,1500,1504,1506,1511 JGRID Local 1068 I(4) 4 scalar 1089,1090,1511 NAPFLD Local 1051 I(4) 4 scalar PTR 1051 NAPROC Local 1051 I(4) 4 scalar PTR 1051,1096 NDSE Dummy 1031 I(4) 4 scalar ARG,IN 1075,1080,1085,1090,1511 NDST Dummy 1031 I(4) 4 scalar ARG,IN 1090,1511 NGRIDS Local 1049 I(4) 4 scalar 1049,1074 NGRPP Param 1053 I(4) 4 scalar 1053,1063 NK Local 1049 I(4) 4 scalar PTR 1049,1370 NOEXTR Param 1052 I(4) 4 scalar 1052,1496 NOGRP Param 1053 I(4) 4 scalar 1053,1063 NOSWLL Local 1052 I(4) 4 scalar PTR 1052,1209,1215,1221,1227,1233,1239 NSEA Local 1049 I(4) 4 scalar PTR 1049,1095 NSEAL Local 1050 I(4) 4 scalar PTR 1050 NSPEC Local 1050 I(4) 4 scalar PTR 1050 NTH Local 1050 I(4) 4 scalar PTR 1050 NTPROC Local 1051 I(4) 4 scalar PTR 1051 NX Local 1049 I(4) 4 scalar PTR 1049 NXXX Local 1068 I(4) 4 scalar 1096,1099,1105,1111,1117,1123,1129 ,1135,1141,1147,1177,1183,1189,119 5,1201,1209,1215,1221,1227,1233,12 39,1245,1251,1266,1272,1278,1284,1 285,1292,1293,1301,1316,1317,1318, 1326,1327,1334,1340,1346,1347,1354 ,1355,1362,1363,1370,1376,1398,139 9,1406,1407,1414,1420,1426,1440,14 41,1448,1449,1461,1467,1473,1479,1 485,1498 NY Local 1049 I(4) 4 scalar PTR 1049 P2MSF Local 1050 I(4) 4 1 1 PTR 1050,1376 UNDEF Local 1052 R(4) 4 scalar 1052,1164,1165,1166,1167,1168,1169 ,1170,1171,1172,1206,1256,1257,125 8,1259,1260,1261,1262,1263,1306,13 07,1308,1309,1310,1311,1312,1313,1 381,1382,1383,1384,1385,1386,1387, 1388,1389,1390,1391,1392,1393,1394 ,1395,1431,1432,1433,1434,1435,143 6,1437,1455,1456,1457,1458,1490,14 91,1492,1493,1494,1504 UNGTYPE Param 1050 I(4) 4 scalar 1050 US3DF Local 1050 I(4) 4 1 1 PTR 1050 W3GDATMD Module 1049 1049 W3IDATMD Module 1054 1054 W3ODATMD Module 1051 1051 W3SERVMD Module 1055 1055 W3SETG Subr 1049 1049,1090,1511 W3XDMA Subr 1031 XABA Local 1398 R(4) 4 1 1 PTR 1398,1401,1431,2137 XABD Local 1399 R(4) 4 1 1 PTR 1399,1402,1432,2138 XBEDFORMS Local 1414 R(4) 4 2 1 PTR 1414,1416,1435,2141 XBHD Local 1334 R(4) 4 1 1 PTR 1334,1336,1386,2126 Page 37 Source Listing W3XDMA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References XCFLKMAX Local 1485 R(4) 4 1 1 PTR 1485,1487,1494,2154 XCFLTHMAX Local 1479 R(4) 4 1 1 PTR 1479,1481,1493,2153 XCFLXYMAX Local 1473 R(4) 4 1 1 PTR 1473,1475,1492,2152 XCGE Local 1272 R(4) 4 1 1 PTR 1272,1274,1307,2113 XCHARN Local 1266 R(4) 4 1 1 PTR 1266,1268,1306,2112 XDTDYN Local 1461 R(4) 4 1 1 PTR 1461,1463,1490,2150 XEF Local 1177 R(4) 4 2 1 PTR 1177,1179,1206,2101 XFCUT Local 1467 R(4) 4 1 1 PTR 1467,1469,1491,2151 XFP0 Local 1129 R(4) 4 1 1 PTR 1129,1131,1169,2094 XHS Local 1099 R(4) 4 1 1 PTR 1099,1101,1164,2089 XMSCX Local 1448 R(4) 4 1 1 PTR 1448,1451,1457,2147 XMSCY Local 1449 R(4) 4 1 1 PTR 1449,1452,1458,2148 XMSSX Local 1440 R(4) 4 1 1 PTR 1440,1443,1455,2145 XMSSY Local 1441 R(4) 4 1 1 PTR 1441,1444,1456,2146 XP2SMS Local 1376 R(4) 4 2 1 PTR 1376,1378,1395,2134 XPHIAW Local 1278 R(4) 4 1 1 PTR 1278,1280,1308,2114 XPHIBBL Local 1420 R(4) 4 1 1 PTR 1420,1422,1436,2142 XPHIOC Local 1340 R(4) 4 1 1 PTR 1340,1342,1387,2127 XPHS Local 1209 R(4) 4 2 1 PTR 1209,1211,1256,2103 XPLP Local 1221 R(4) 4 2 1 PTR 1221,1223,1258,2105 XPNR Local 1251 R(4) 4 1 1 PTR 1251,1253,1263,2110 XPRMS Local 1362 R(4) 4 1 1 PTR 1362,1365,1392,2132 XPSI Local 1233 R(4) 4 2 1 PTR 1233,1235,1260,2107 XPTH Local 1227 R(4) 4 2 1 PTR 1227,1229,1259,2106 XPTP Local 1215 R(4) 4 2 1 PTR 1215,1217,1257,2104 XPWS Local 1239 R(4) 4 2 1 PTR 1239,1241,1261,2108 XPWST Local 1245 R(4) 4 1 1 PTR 1245,1247,1262,2109 XSTH1M Local 1189 R(4) 4 2 1 PTR 1189,1191 XSTH2M Local 1201 R(4) 4 2 1 PTR 1201,1203 XSXX Local 1316 R(4) 4 1 1 PTR 1316,1320,1381,2121 XSXY Local 1318 R(4) 4 1 1 PTR 1318,1322,1383,2123 XSYY Local 1317 R(4) 4 1 1 PTR 1317,1321,1382,2122 XT01 Local 1123 R(4) 4 1 1 PTR 1123,1125,1168,2093 XT02 Local 1111 R(4) 4 1 1 PTR 1111,1113,1166,2091 XT0M1 Local 1117 R(4) 4 1 1 PTR 1117,1119,1167,2092 XTAUBBL Local 1426 R(4) 4 2 1 PTR 1426,1428,1437,2143 XTAUOX Local 1326 R(4) 4 1 1 PTR 1326,1329,1384,2124 XTAUOY Local 1327 R(4) 4 1 1 PTR 1327,1330,1385,2125 XTAUWIX Local 1284 R(4) 4 1 1 PTR 1284,1287,1309,2115 XTAUWIY Local 1285 R(4) 4 1 1 PTR 1285,1288,1310,2116 XTAUWNX Local 1292 R(4) 4 1 1 PTR 1292,1295,1311,2117 XTAUWNY Local 1293 R(4) 4 1 1 PTR 1293,1296,1312,2118 XTH1M Local 1183 R(4) 4 2 1 PTR 1183,1185 XTH2M Local 1195 R(4) 4 2 1 PTR 1195,1197 XTHM Local 1135 R(4) 4 1 1 PTR 1135,1137,1170,2095 XTHP0 Local 1147 R(4) 4 1 1 PTR 1147,1149,1172,2097 XTHS Local 1141 R(4) 4 1 1 PTR 1141,1143,1171,2096 XTPMS Local 1363 R(4) 4 1 1 PTR 1363,1366,1393,2133 XTUSX Local 1346 R(4) 4 1 1 PTR 1346,1349,1388,2128 XTUSY Local 1347 R(4) 4 1 1 PTR 1347,1350,1389,2129 XUBA Local 1406 R(4) 4 1 1 PTR 1406,1409,1433,2139 XUBD Local 1407 R(4) 4 1 1 PTR 1407,1410,1434,2140 XUS3D Local 1370 R(4) 4 2 1 PTR 1370,1372,1394,2135 XUSERO Local 1498 R(4) 4 2 1 PTR 1498,1500,1504,2156 XUSSX Local 1354 R(4) 4 1 1 PTR 1354,1357,1390,2130 Page 38 Source Listing W3XDMA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References XUSSY Local 1355 R(4) 4 1 1 PTR 1355,1358,1391,2131 XWHITECAP Local 1301 R(4) 4 2 1 PTR 1301,1303,1313,2119 XWLM Local 1105 R(4) 4 1 1 PTR 1105,1107,1165,2090 Page 39 Source Listing W3XDMA 2014-09-16 16:50 w3adatmd.f90 1528 !/ ------------------------------------------------------------------- / 1529 SUBROUTINE W3DMNL ( IMOD, NDSE, NDST, NSP, NSPX ) 1530 !/ 1531 !/ +-----------------------------------+ 1532 !/ | WAVEWATCH III NOAA/NCEP | 1533 !/ | H. L. Tolman | 1534 !/ | FORTRAN 90 | 1535 !/ | Last update : 04-Oct-2006 ! 1536 !/ +-----------------------------------+ 1537 !/ 1538 !/ 24-Dec-2004 : Origination. ( version 3.06 ) 1539 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 1540 !/ 1541 ! 1. Purpose : 1542 ! 1543 ! Initialize an individual data grid at the proper dimensions (DIA). 1544 ! 1545 ! 2. Method : 1546 ! 1547 ! Allocate directly into the structure array. Note that 1548 ! this cannot be done through the pointer alias! 1549 ! 1550 ! 3. Parameters : 1551 ! 1552 ! Parameter list 1553 ! ---------------------------------------------------------------- 1554 ! IMOD Int. I Model number to point to. 1555 ! NDSE Int. I Error output unit number. 1556 ! NDST Int. I Test output unit number. 1557 ! NSP(X) Int. I Array dimensions. 1558 ! ---------------------------------------------------------------- 1559 ! 1560 ! 4. Subroutines used : 1561 ! 1562 ! See module documentation. 1563 ! 1564 ! 5. Called by : 1565 ! 1566 ! Name Type Module Description 1567 ! ---------------------------------------------------------------- 1568 ! INSNL1 Subr. W3SNL1MD Traditional DIA approach to Snl. 1569 ! ---------------------------------------------------------------- 1570 ! 1571 ! 6. Error messages : 1572 ! 1573 ! - Check on input parameters. 1574 ! - Check on previous allocation. 1575 ! 1576 ! 7. Remarks : 1577 ! 1578 ! - W3SETA needs to be called after allocation to point to 1579 ! proper allocated arrays. 1580 ! 1581 ! 8. Structure : 1582 ! 1583 ! See source code. 1584 ! Page 40 Source Listing W3DMNL 2014-09-16 16:50 w3adatmd.f90 1585 ! 9. Switches : 1586 ! 1587 ! !/S Enable subroutine tracing. 1588 ! !/T Enable test output 1589 ! 1590 ! 10. Source code : 1591 ! 1592 !/ ------------------------------------------------------------------- / 1593 USE W3GDATMD, ONLY: NGRIDS, IGRID, NK, NX, NY, NSEA, NSEAL, & 1594 NSPEC, NTH, GTYPE, UNGTYPE 1595 USE W3ODATMD, ONLY: NAPROC 1596 USE W3IDATMD, ONLY: FLCUR, FLWIND 1597 USE W3SERVMD, ONLY: EXTCDE 1598 ! 1599 IMPLICIT NONE 1600 !/ 1601 !/ ------------------------------------------------------------------- / 1602 !/ Parameter list 1603 !/ 1604 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST, NSP, NSPX 1605 !/ 1606 !/ ------------------------------------------------------------------- / 1607 !/ Local parameters 1608 !/ 1609 !/ 1610 ! 1611 ! -------------------------------------------------------------------- / 1612 ! 1. Test input and module status 1613 ! 1614 IF ( NGRIDS .EQ. -1 ) THEN 1615 WRITE (NDSE,1001) 1616 CALL EXTCDE (1) 1617 END IF 1618 ! 1619 IF ( IMOD.LT.1 .OR. IMOD.GT.NADATA ) THEN 1620 WRITE (NDSE,1002) IMOD, NADATA 1621 CALL EXTCDE (2) 1622 END IF 1623 ! 1624 IF ( WADATS(IMOD)%NLINIT ) THEN 1625 WRITE (NDSE,1003) 1626 CALL EXTCDE (3) 1627 END IF 1628 ! 1629 ! -------------------------------------------------------------------- / 1630 ! 2. Allocate arrays 1631 ! 1632 ALLOCATE ( WADATS(IMOD)%IP11(NSPX), & 1633 WADATS(IMOD)%IP12(NSPX), & 1634 WADATS(IMOD)%IP13(NSPX), & 1635 WADATS(IMOD)%IP14(NSPX), & 1636 WADATS(IMOD)%IM11(NSPX), & 1637 WADATS(IMOD)%IM12(NSPX), & 1638 WADATS(IMOD)%IM13(NSPX), & 1639 WADATS(IMOD)%IM14(NSPX), & 1640 WADATS(IMOD)%IP21(NSPX), & 1641 WADATS(IMOD)%IP22(NSPX), & Page 41 Source Listing W3DMNL 2014-09-16 16:50 w3adatmd.f90 1642 WADATS(IMOD)%IP23(NSPX), & 1643 WADATS(IMOD)%IP24(NSPX), & 1644 WADATS(IMOD)%IM21(NSPX), & 1645 WADATS(IMOD)%IM22(NSPX), & 1646 WADATS(IMOD)%IM23(NSPX), & 1647 WADATS(IMOD)%IM24(NSPX), & 1648 WADATS(IMOD)%IC11(NSP) , & 1649 WADATS(IMOD)%IC12(NSP) , & 1650 WADATS(IMOD)%IC21(NSP) , & 1651 WADATS(IMOD)%IC22(NSP) , & 1652 WADATS(IMOD)%IC31(NSP) , & 1653 WADATS(IMOD)%IC32(NSP) , & 1654 WADATS(IMOD)%IC41(NSP) , & 1655 WADATS(IMOD)%IC42(NSP) , & 1656 WADATS(IMOD)%IC51(NSP) , & 1657 WADATS(IMOD)%IC52(NSP) , & 1658 WADATS(IMOD)%IC61(NSP) , & 1659 WADATS(IMOD)%IC62(NSP) , & 1660 WADATS(IMOD)%IC71(NSP) , & 1661 WADATS(IMOD)%IC72(NSP) , & 1662 WADATS(IMOD)%IC81(NSP) , & 1663 WADATS(IMOD)%IC82(NSP) , & 1664 WADATS(IMOD)%AF11(NSPX) ) 1665 ! 1666 WADATS(IMOD)%NLINIT = .TRUE. 1667 ! 1668 ! -------------------------------------------------------------------- / 1669 ! 3. Point to allocated arrays 1670 ! 1671 CALL W3SETA ( IMOD, NDSE, NDST ) 1672 ! 1673 ! -------------------------------------------------------------------- / 1674 ! 4. Update counters in grid 1675 ! 1676 NSPECX = NSPX 1677 ! 1678 RETURN 1679 ! 1680 ! Formats 1681 ! 1682 1001 FORMAT (/' *** ERROR W3DMNL : GRIDS NOT INITIALIZED *** '/ & 1683 ' RUN W3NMOD FIRST '/) 1684 1002 FORMAT (/' *** ERROR W3DMNL : ILLEGAL MODEL NUMBER *** '/ & 1685 ' IMOD = ',I10/ & 1686 ' NADATA = ',I10/) 1687 1003 FORMAT (/' *** ERROR W3DMNL : ARRAY(S) ALREADY ALLOCATED *** ') 1688 ! 1689 !/ 1690 !/ End of W3DMNL ----------------------------------------------------- / 1691 !/ 1692 END SUBROUTINE W3DMNL Page 42 Source Listing W3DMNL 2014-09-16 16:50 Entry Points w3adatmd.f90 ENTRY POINTS Name w3adatmd_mp_w3dmnl_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 1682 1615 1002 Label 1684 1620 1003 Label 1687 1625 AF11 Local 1664 R(4) 4 1 1 PTR 1664,2011 EXTCDE Subr 1597 1597,1616,1621,1626 FLCUR Local 1596 L(4) 4 scalar PTR 1596 FLWIND Local 1596 L(4) 4 scalar PTR 1596 GTYPE Local 1594 I(4) 4 scalar PTR 1594 IC11 Local 1648 I(4) 4 1 1 PTR 1648,1995 IC12 Local 1649 I(4) 4 1 1 PTR 1649,1996 IC21 Local 1650 I(4) 4 1 1 PTR 1650,1997 IC22 Local 1651 I(4) 4 1 1 PTR 1651,1998 IC31 Local 1652 I(4) 4 1 1 PTR 1652,1999 IC32 Local 1653 I(4) 4 1 1 PTR 1653,2000 IC41 Local 1654 I(4) 4 1 1 PTR 1654,2001 IC42 Local 1655 I(4) 4 1 1 PTR 1655,2002 IC51 Local 1656 I(4) 4 1 1 PTR 1656,2003 IC52 Local 1657 I(4) 4 1 1 PTR 1657,2004 IC61 Local 1658 I(4) 4 1 1 PTR 1658,2005 IC62 Local 1659 I(4) 4 1 1 PTR 1659,2006 IC71 Local 1660 I(4) 4 1 1 PTR 1660,2007 IC72 Local 1661 I(4) 4 1 1 PTR 1661,2008 IC81 Local 1662 I(4) 4 1 1 PTR 1662,2009 IC82 Local 1663 I(4) 4 1 1 PTR 1663,2010 IGRID Local 1593 I(4) 4 scalar 1593 IM11 Local 1636 I(4) 4 1 1 PTR 1636,1983 IM12 Local 1637 I(4) 4 1 1 PTR 1637,1984 IM13 Local 1638 I(4) 4 1 1 PTR 1638,1985 IM14 Local 1639 I(4) 4 1 1 PTR 1639,1986 IM21 Local 1644 I(4) 4 1 1 PTR 1644,1991 IM22 Local 1645 I(4) 4 1 1 PTR 1645,1992 IM23 Local 1646 I(4) 4 1 1 PTR 1646,1993 IM24 Local 1647 I(4) 4 1 1 PTR 1647,1994 IMOD Dummy 1529 I(4) 4 scalar ARG,IN 1619,1620,1624,1632,1633,1634,1635 ,1636,1637,1638,1639,1640,1641,164 2,1643,1644,1645,1646,1647,1648,16 49,1650,1651,1652,1653,1654,1655,1 656,1657,1658,1659,1660,1661,1662, 1663,1664,1666,1671 IP11 Local 1632 I(4) 4 1 1 PTR 1632,1979 IP12 Local 1633 I(4) 4 1 1 PTR 1633,1980 IP13 Local 1634 I(4) 4 1 1 PTR 1634,1981 IP14 Local 1635 I(4) 4 1 1 PTR 1635,1982 IP21 Local 1640 I(4) 4 1 1 PTR 1640,1987 Page 43 Source Listing W3DMNL 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References IP22 Local 1641 I(4) 4 1 1 PTR 1641,1988 IP23 Local 1642 I(4) 4 1 1 PTR 1642,1989 IP24 Local 1643 I(4) 4 1 1 PTR 1643,1990 NAPROC Local 1595 I(4) 4 scalar PTR 1595 NDSE Dummy 1529 I(4) 4 scalar ARG,IN 1615,1620,1625,1671 NDST Dummy 1529 I(4) 4 scalar ARG,IN 1671 NGRIDS Local 1593 I(4) 4 scalar 1593,1614 NK Local 1593 I(4) 4 scalar PTR 1593 NSEA Local 1593 I(4) 4 scalar PTR 1593 NSEAL Local 1593 I(4) 4 scalar PTR 1593 NSP Dummy 1529 I(4) 4 scalar ARG,IN 1648,1649,1650,1651,1652,1653,1654 ,1655,1656,1657,1658,1659,1660,166 1,1662,1663 NSPEC Local 1594 I(4) 4 scalar PTR 1594 NSPECX Local 1676 I(4) 4 scalar PTR 1676,1819 NSPX Dummy 1529 I(4) 4 scalar ARG,IN 1632,1633,1634,1635,1636,1637,1638 ,1639,1640,1641,1642,1643,1644,164 5,1646,1647,1664,1676 NTH Local 1594 I(4) 4 scalar PTR 1594 NX Local 1593 I(4) 4 scalar PTR 1593 NY Local 1593 I(4) 4 scalar PTR 1593 UNGTYPE Param 1594 I(4) 4 scalar 1594 W3DMNL Subr 1529 W3GDATMD Module 1593 1593 W3IDATMD Module 1596 1596 W3ODATMD Module 1595 1595 W3SERVMD Module 1597 1597 Page 44 Source Listing W3DMNL 2014-09-16 16:50 w3adatmd.f90 1693 !/ ------------------------------------------------------------------- / 1694 SUBROUTINE W3SETA ( IMOD, NDSE, NDST ) 1695 !/ 1696 !/ +-----------------------------------+ 1697 !/ | WAVEWATCH III NOAA/NCEP | 1698 !/ | H. L. Tolman | 1699 !/ | FORTRAN 90 | 1700 !/ | Last update : 28_Mar-2007 | 1701 !/ +-----------------------------------+ 1702 !/ 1703 !/ 28-Dec-2004 : Origination. ( version 3.06 ) 1704 !/ 04-May-2005 : Adding MPI_COMM_WAVE. ( version 3.07 ) 1705 !/ 20-Jul-2005 : Adding output fields. ( version 3.07 ) 1706 !/ 09-Nov-2005 : Removing soft boundary option. ( version 3.08 ) 1707 !/ 13-Jun-2006 : Splitting STORE in G/SSTORE. ( version 3.09 ) 1708 !/ 04-Oct-2006 : Add filter to array pointers. ( version 3.10 ) 1709 !/ 28_Mar-2007 : Add partitioned data arrays. ( version 3.11 ) 1710 !/ Add aditional undefined arrays. 1711 !/ 1712 ! 1. Purpose : 1713 ! 1714 ! Select one of the WAVEWATCH III grids / models. 1715 ! 1716 ! 2. Method : 1717 ! 1718 ! Point pointers to the proper variables in the proper element of 1719 ! the GRIDS array. 1720 ! 1721 ! 3. Parameters : 1722 ! 1723 ! Parameter list 1724 ! ---------------------------------------------------------------- 1725 ! IMOD Int. I Model number to point to. 1726 ! NDSE Int. I Error output unit number. 1727 ! NDST Int. I Test output unit number. 1728 ! ---------------------------------------------------------------- 1729 ! 1730 ! 4. Subroutines used : 1731 ! 1732 ! See module documentation below. 1733 ! 1734 ! 5. Called by : 1735 ! 1736 ! Many subroutines in the WAVEWATCH system. 1737 ! 1738 ! 6. Error messages : 1739 ! 1740 ! Checks on parameter list IMOD. 1741 ! 1742 ! 7. Remarks : 1743 ! 1744 ! 8. Structure : 1745 ! 1746 ! 9. Switches : 1747 ! 1748 ! !/MPI Paralllel model environment. 1749 ! Page 45 Source Listing W3SETA 2014-09-16 16:50 w3adatmd.f90 1750 ! !/PRn Propagation scheme selection. 1751 ! 1752 ! !/S Enable subroutine tracing. 1753 ! !/T Enable test output 1754 ! 1755 ! 10. Source code : 1756 ! 1757 !/ ------------------------------------------------------------------- / 1758 ! 1759 USE W3IDATMD, ONLY: INPUTS 1760 USE W3GDATMD, ONLY: E3DF, P2MSF, US3DF, GTYPE, UNGTYPE 1761 ! 1762 USE W3SERVMD, ONLY: EXTCDE 1763 ! 1764 IMPLICIT NONE 1765 !/ 1766 !/ ------------------------------------------------------------------- / 1767 !/ Parameter list 1768 !/ 1769 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST 1770 !/ 1771 !/ ------------------------------------------------------------------- / 1772 !/ Local parameters 1773 !/ 1774 !/ 1775 ! 1776 ! -------------------------------------------------------------------- / 1777 ! 1. Test input and module status 1778 ! 1779 IF ( NADATA .EQ. -1 ) THEN 1780 WRITE (NDSE,1001) 1781 CALL EXTCDE (1) 1782 END IF 1783 ! 1784 IF ( IMOD.LT.1 .OR. IMOD.GT.NADATA ) THEN 1785 WRITE (NDSE,1002) IMOD, NADATA 1786 CALL EXTCDE (2) 1787 END IF 1788 ! 1789 ! -------------------------------------------------------------------- / 1790 ! 2. Set model numbers 1791 ! 1792 IADATA = IMOD 1793 ! 1794 ! -------------------------------------------------------------------- / 1795 ! 3. Set pointers 1796 ! 1797 ITIME => WADATS(IMOD)%ITIME 1798 IPASS => WADATS(IMOD)%IPASS 1799 IDLAST => WADATS(IMOD)%IDLAST 1800 NSEALM => WADATS(IMOD)%NSEALM 1801 FLCOLD => WADATS(IMOD)%FLCOLD 1802 FLIWND => WADATS(IMOD)%FLIWND 1803 AINIT => WADATS(IMOD)%AINIT 1804 AINIT2 => WADATS(IMOD)%AINIT2 1805 FL_ALL => WADATS(IMOD)%FL_ALL 1806 ! Page 46 Source Listing W3SETA 2014-09-16 16:50 w3adatmd.f90 1807 NMX0 => WADATS(IMOD)%NMX0 1808 NMX1 => WADATS(IMOD)%NMX1 1809 NMX2 => WADATS(IMOD)%NMX2 1810 NMY0 => WADATS(IMOD)%NMY0 1811 NMY1 => WADATS(IMOD)%NMY1 1812 NMY2 => WADATS(IMOD)%NMY2 1813 NACT => WADATS(IMOD)%NACT 1814 NCENT => WADATS(IMOD)%NCENT 1815 ! 1816 NFR => WADATS(IMOD)%NFR 1817 NFRHGH => WADATS(IMOD)%NFRHGH 1818 NFRCHG => WADATS(IMOD)%NFRCHG 1819 NSPECX => WADATS(IMOD)%NSPECX 1820 NSPECY => WADATS(IMOD)%NSPECY 1821 DAL1 => WADATS(IMOD)%DAL1 1822 DAL2 => WADATS(IMOD)%DAL2 1823 DAL3 => WADATS(IMOD)%DAL3 1824 AWG1 => WADATS(IMOD)%AWG1 1825 AWG2 => WADATS(IMOD)%AWG2 1826 AWG3 => WADATS(IMOD)%AWG3 1827 AWG4 => WADATS(IMOD)%AWG4 1828 AWG5 => WADATS(IMOD)%AWG5 1829 AWG6 => WADATS(IMOD)%AWG6 1830 AWG7 => WADATS(IMOD)%AWG7 1831 AWG8 => WADATS(IMOD)%AWG8 1832 SWG1 => WADATS(IMOD)%SWG1 1833 SWG2 => WADATS(IMOD)%SWG2 1834 SWG3 => WADATS(IMOD)%SWG3 1835 SWG4 => WADATS(IMOD)%SWG4 1836 SWG5 => WADATS(IMOD)%SWG5 1837 SWG6 => WADATS(IMOD)%SWG6 1838 SWG7 => WADATS(IMOD)%SWG7 1839 SWG8 => WADATS(IMOD)%SWG8 1840 NLINIT => WADATS(IMOD)%NLINIT 1841 ! 1842 IF ( AINIT ) THEN 1843 ! 1844 DW => WADATS(IMOD)%DW 1845 UA => WADATS(IMOD)%UA 1846 UD => WADATS(IMOD)%UD 1847 U10 => WADATS(IMOD)%U10 1848 U10D => WADATS(IMOD)%U10D 1849 AS => WADATS(IMOD)%AS 1850 CX => WADATS(IMOD)%CX 1851 CY => WADATS(IMOD)%CY 1852 ! 1853 HS => WADATS(IMOD)%HS 1854 WLM => WADATS(IMOD)%WLM 1855 T02 => WADATS(IMOD)%T02 1856 T0M1 => WADATS(IMOD)%T0M1 1857 T01 => WADATS(IMOD)%T01 1858 FP0 => WADATS(IMOD)%FP0 1859 THM => WADATS(IMOD)%THM 1860 THS => WADATS(IMOD)%THS 1861 THP0 => WADATS(IMOD)%THP0 1862 FP1 => WADATS(IMOD)%FP1 1863 THP1 => WADATS(IMOD)%THP1 Page 47 Source Listing W3SETA 2014-09-16 16:50 w3adatmd.f90 1864 ! 1865 EF => WADATS(IMOD)%EF 1866 TH1M => WADATS(IMOD)%TH1M 1867 STH1M => WADATS(IMOD)%STH1M 1868 TH2M => WADATS(IMOD)%TH2M 1869 STH2M => WADATS(IMOD)%STH2M 1870 ! 1871 PHS => WADATS(IMOD)%PHS 1872 PTP => WADATS(IMOD)%PTP 1873 PLP => WADATS(IMOD)%PLP 1874 PTH => WADATS(IMOD)%PTH 1875 PSI => WADATS(IMOD)%PSI 1876 PWS => WADATS(IMOD)%PWS 1877 PWST => WADATS(IMOD)%PWST 1878 PNR => WADATS(IMOD)%PNR 1879 ! 1880 CHARN => WADATS(IMOD)%CHARN 1881 CGE => WADATS(IMOD)%CGE 1882 PHIAW => WADATS(IMOD)%PHIAW 1883 TAUWIX => WADATS(IMOD)%TAUWIX 1884 TAUWIY => WADATS(IMOD)%TAUWIY 1885 TAUWNX => WADATS(IMOD)%TAUWNX 1886 TAUWNY => WADATS(IMOD)%TAUWNY 1887 WHITECAP => WADATS(IMOD)%WHITECAP 1888 ! 1889 SXX => WADATS(IMOD)%SXX 1890 SYY => WADATS(IMOD)%SYY 1891 SXY => WADATS(IMOD)%SXY 1892 TAUOX => WADATS(IMOD)%TAUOX 1893 TAUOY => WADATS(IMOD)%TAUOY 1894 BHD => WADATS(IMOD)%BHD 1895 PHIOC => WADATS(IMOD)%PHIOC 1896 TUSX => WADATS(IMOD)%TUSX 1897 TUSY => WADATS(IMOD)%TUSY 1898 USSX => WADATS(IMOD)%USSX 1899 USSY => WADATS(IMOD)%USSY 1900 PRMS => WADATS(IMOD)%PRMS 1901 TPMS => WADATS(IMOD)%TPMS 1902 P2SMS => WADATS(IMOD)%P2SMS 1903 US3D => WADATS(IMOD)%US3D 1904 ! 1905 ABA => WADATS(IMOD)%ABA 1906 ABD => WADATS(IMOD)%ABD 1907 UBA => WADATS(IMOD)%UBA 1908 UBD => WADATS(IMOD)%UBD 1909 BEDFORMS=> WADATS(IMOD)%BEDFORMS 1910 PHIBBL => WADATS(IMOD)%PHIBBL 1911 TAUBBL => WADATS(IMOD)%TAUBBL 1912 ! 1913 MSSX => WADATS(IMOD)%MSSX 1914 MSSY => WADATS(IMOD)%MSSY 1915 MSCX => WADATS(IMOD)%MSCX 1916 MSCY => WADATS(IMOD)%MSCY 1917 ! 1918 DTDYN => WADATS(IMOD)%DTDYN 1919 FCUT => WADATS(IMOD)%FCUT 1920 CFLXYMAX => WADATS(IMOD)%CFLXYMAX Page 48 Source Listing W3SETA 2014-09-16 16:50 w3adatmd.f90 1921 CFLTHMAX => WADATS(IMOD)%CFLTHMAX 1922 CFLKMAX => WADATS(IMOD)%CFLKMAX 1923 ! 1924 USERO => WADATS(IMOD)%USERO 1925 ! 1926 IF ( FL_ALL ) THEN 1927 ! 1928 CG => WADATS(IMOD)%CG 1929 WN => WADATS(IMOD)%WN 1930 ! 1931 ATRNX => WADATS(IMOD)%ATRNX 1932 ATRNY => WADATS(IMOD)%ATRNY 1933 ! 1934 DDDX => WADATS(IMOD)%DDDX 1935 DDDY => WADATS(IMOD)%DDDY 1936 DCDX => WADATS(IMOD)%DCDX 1937 DCDY => WADATS(IMOD)%DCDY 1938 DCXDX => WADATS(IMOD)%DCXDX 1939 DCYDX => WADATS(IMOD)%DCYDX 1940 DCXDY => WADATS(IMOD)%DCXDY 1941 DCYDY => WADATS(IMOD)%DCYDY 1942 ! 1943 ALPHA => WADATS(IMOD)%ALPHA 1944 ! 1945 IF ( INPUTS(IMOD)%FLAGS(2) ) THEN 1946 CA0 => WADATS(IMOD)%CA0 1947 CAI => WADATS(IMOD)%CAI 1948 CD0 => WADATS(IMOD)%CD0 1949 CDI => WADATS(IMOD)%CDI 1950 END IF 1951 ! 1952 IF ( INPUTS(IMOD)%FLAGS(3) ) THEN 1953 UA0 => WADATS(IMOD)%UA0 1954 UAI => WADATS(IMOD)%UAI 1955 UD0 => WADATS(IMOD)%UD0 1956 UDI => WADATS(IMOD)%UDI 1957 AS0 => WADATS(IMOD)%AS0 1958 ASI => WADATS(IMOD)%ASI 1959 END IF 1960 ! 1961 MAPX2 => WADATS(IMOD)%MAPX2 1962 MAPY2 => WADATS(IMOD)%MAPY2 1963 MAPAXY => WADATS(IMOD)%MAPAXY 1964 MAPCXY => WADATS(IMOD)%MAPCXY 1965 MAPTH2 => WADATS(IMOD)%MAPTH2 1966 MAPWN2 => WADATS(IMOD)%MAPWN2 1967 MAPTRN => WADATS(IMOD)%MAPTRN 1968 ! 1969 IF (GTYPE .EQ. UNGTYPE) ITER => WADATS(IMOD)%ITER 1970 ! 1971 IAPPRO => WADATS(IMOD)%IAPPRO 1972 SPPNT => WADATS(IMOD)%SPPNT 1973 ! 1974 END IF 1975 ! 1976 END IF 1977 ! Page 49 Source Listing W3SETA 2014-09-16 16:50 w3adatmd.f90 1978 IF ( NLINIT ) THEN 1979 IP11 => WADATS(IMOD)%IP11 1980 IP12 => WADATS(IMOD)%IP12 1981 IP13 => WADATS(IMOD)%IP13 1982 IP14 => WADATS(IMOD)%IP14 1983 IM11 => WADATS(IMOD)%IM11 1984 IM12 => WADATS(IMOD)%IM12 1985 IM13 => WADATS(IMOD)%IM13 1986 IM14 => WADATS(IMOD)%IM14 1987 IP21 => WADATS(IMOD)%IP21 1988 IP22 => WADATS(IMOD)%IP22 1989 IP23 => WADATS(IMOD)%IP23 1990 IP24 => WADATS(IMOD)%IP24 1991 IM21 => WADATS(IMOD)%IM21 1992 IM22 => WADATS(IMOD)%IM22 1993 IM23 => WADATS(IMOD)%IM23 1994 IM24 => WADATS(IMOD)%IM24 1995 IC11 => WADATS(IMOD)%IC11 1996 IC12 => WADATS(IMOD)%IC12 1997 IC21 => WADATS(IMOD)%IC21 1998 IC22 => WADATS(IMOD)%IC22 1999 IC31 => WADATS(IMOD)%IC31 2000 IC32 => WADATS(IMOD)%IC32 2001 IC41 => WADATS(IMOD)%IC41 2002 IC42 => WADATS(IMOD)%IC42 2003 IC51 => WADATS(IMOD)%IC51 2004 IC52 => WADATS(IMOD)%IC52 2005 IC61 => WADATS(IMOD)%IC61 2006 IC62 => WADATS(IMOD)%IC62 2007 IC71 => WADATS(IMOD)%IC71 2008 IC72 => WADATS(IMOD)%IC72 2009 IC81 => WADATS(IMOD)%IC81 2010 IC82 => WADATS(IMOD)%IC82 2011 AF11 => WADATS(IMOD)%AF11 2012 END IF 2013 2014 ! 2015 RETURN 2016 ! 2017 ! Formats 2018 ! 2019 1001 FORMAT (/' *** ERROR W3SETA : GRIDS NOT INITIALIZED *** '/ & 2020 ' RUN W3NMOD FIRST '/) 2021 1002 FORMAT (/' *** ERROR W3SETA : ILLEGAL MODEL NUMBER *** '/ & 2022 ' IMOD = ',I10/ & 2023 ' NADATA = ',I10/) 2024 ! 2025 !/ 2026 !/ End of W3SETA ----------------------------------------------------- / 2027 !/ 2028 END SUBROUTINE W3SETA Page 50 Source Listing W3SETA 2014-09-16 16:50 Entry Points w3adatmd.f90 ENTRY POINTS Name w3adatmd_mp_w3seta_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 2019 1780 1002 Label 2021 1785 ABA Local 1905 R(4) 4 1 1 PTR 1905,2137 ABD Local 1906 R(4) 4 1 1 PTR 1906,2138 AF11 Local 2011 R(4) 4 1 1 PTR 2011 AINIT Local 1803 L(4) 4 scalar PTR 1803,1842 AINIT2 Local 1804 L(4) 4 scalar PTR 1804,2087 ALPHA Local 1943 R(4) 4 2 1 PTR 1943 AS Local 1849 R(4) 4 1 1 PTR 1849 AS0 Local 1957 R(4) 4 1 1 PTR 1957 ASI Local 1958 R(4) 4 1 1 PTR 1958 ATRNX Local 1931 R(4) 4 2 1 PTR 1931 ATRNY Local 1932 R(4) 4 2 1 PTR 1932 AWG1 Local 1824 R(4) 4 scalar PTR,TGT 1824 AWG2 Local 1825 R(4) 4 scalar PTR,TGT 1825 AWG3 Local 1826 R(4) 4 scalar PTR,TGT 1826 AWG4 Local 1827 R(4) 4 scalar PTR,TGT 1827 AWG5 Local 1828 R(4) 4 scalar PTR,TGT 1828 AWG6 Local 1829 R(4) 4 scalar PTR,TGT 1829 AWG7 Local 1830 R(4) 4 scalar PTR,TGT 1830 AWG8 Local 1831 R(4) 4 scalar PTR,TGT 1831 BEDFORMS Local 1909 R(4) 4 2 1 PTR 1909,2141 BHD Local 1894 R(4) 4 1 1 PTR 1894,2126 CA0 Local 1946 R(4) 4 1 1 PTR 1946 CAI Local 1947 R(4) 4 1 1 PTR 1947 CD0 Local 1948 R(4) 4 1 1 PTR 1948 CDI Local 1949 R(4) 4 1 1 PTR 1949 CFLKMAX Local 1922 R(4) 4 1 1 PTR 1922,2154 CFLTHMAX Local 1921 R(4) 4 1 1 PTR 1921,2153 CFLXYMAX Local 1920 R(4) 4 1 1 PTR 1920,2152 CG Local 1928 R(4) 4 2 1 PTR 1928 CGE Local 1881 R(4) 4 1 1 PTR 1881,2113 CHARN Local 1880 R(4) 4 1 1 PTR 1880,2112 CX Local 1850 R(4) 4 1 1 PTR 1850 CY Local 1851 R(4) 4 1 1 PTR 1851 DAL1 Local 1821 R(4) 4 scalar PTR,TGT 1821 DAL2 Local 1822 R(4) 4 scalar PTR,TGT 1822 DAL3 Local 1823 R(4) 4 scalar PTR,TGT 1823 DCDX Local 1936 R(4) 4 3 1 PTR 1936 DCDY Local 1937 R(4) 4 3 1 PTR 1937 DCXDX Local 1938 R(4) 4 2 1 PTR 1938 DCXDY Local 1940 R(4) 4 2 1 PTR 1940 DCYDX Local 1939 R(4) 4 2 1 PTR 1939 DCYDY Local 1941 R(4) 4 2 1 PTR 1941 Page 51 Source Listing W3SETA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References DDDX Local 1934 R(4) 4 2 1 PTR 1934 DDDY Local 1935 R(4) 4 2 1 PTR 1935 DTDYN Local 1918 R(4) 4 1 1 PTR 1918,2150 DW Local 1844 R(4) 4 1 1 PTR 1844 E3DF Local 1760 I(4) 4 2 1 PTR 1760 EF Local 1865 R(4) 4 2 1 PTR 1865,2101 EXTCDE Subr 1762 1762,1781,1786 FCUT Local 1919 R(4) 4 1 1 PTR 1919,2151 FLAGS Local 1945 L(4) 4 1 20 1945,1952 FLCOLD Local 1801 L(4) 4 scalar PTR,TGT 1801 FLIWND Local 1802 L(4) 4 scalar PTR,TGT 1802 FP0 Local 1858 R(4) 4 1 1 PTR 1858,2094 FP1 Local 1862 R(4) 4 1 1 PTR 1862 GTYPE Local 1760 I(4) 4 scalar PTR 1760,1969 HS Local 1853 R(4) 4 1 1 PTR 1853,2089 IADATA Local 1792 I(4) 4 scalar 298,1792,2082 IAPPRO Local 1971 I(4) 4 1 1 PTR 1971 IC11 Local 1995 I(4) 4 1 1 PTR 1995 IC12 Local 1996 I(4) 4 1 1 PTR 1996 IC21 Local 1997 I(4) 4 1 1 PTR 1997 IC22 Local 1998 I(4) 4 1 1 PTR 1998 IC31 Local 1999 I(4) 4 1 1 PTR 1999 IC32 Local 2000 I(4) 4 1 1 PTR 2000 IC41 Local 2001 I(4) 4 1 1 PTR 2001 IC42 Local 2002 I(4) 4 1 1 PTR 2002 IC51 Local 2003 I(4) 4 1 1 PTR 2003 IC52 Local 2004 I(4) 4 1 1 PTR 2004 IC61 Local 2005 I(4) 4 1 1 PTR 2005 IC62 Local 2006 I(4) 4 1 1 PTR 2006 IC71 Local 2007 I(4) 4 1 1 PTR 2007 IC72 Local 2008 I(4) 4 1 1 PTR 2008 IC81 Local 2009 I(4) 4 1 1 PTR 2009 IC82 Local 2010 I(4) 4 1 1 PTR 2010 IDLAST Local 1799 I(4) 4 scalar PTR 1799 IM11 Local 1983 I(4) 4 1 1 PTR 1983 IM12 Local 1984 I(4) 4 1 1 PTR 1984 IM13 Local 1985 I(4) 4 1 1 PTR 1985 IM14 Local 1986 I(4) 4 1 1 PTR 1986 IM21 Local 1991 I(4) 4 1 1 PTR 1991 IM22 Local 1992 I(4) 4 1 1 PTR 1992 IM23 Local 1993 I(4) 4 1 1 PTR 1993 IM24 Local 1994 I(4) 4 1 1 PTR 1994 IMOD Dummy 1694 I(4) 4 scalar ARG,IN 1784,1785,1792,1797,1798,1799,1800 ,1801,1802,1803,1804,1805,1807,180 8,1809,1810,1811,1812,1813,1814,18 16,1817,1818,1819,1820,1821,1822,1 823,1824,1825,1826,1827,1828,1829, 1830,1831,1832,1833,1834,1835,1836 ,1837,1838,1839,1840,1844,1845,184 6,1847,1848,1849,1850,1851,1853,18 54,1855,1856,1857,1858,1859,1860,1 861,1862,1863,1865,1866,1867,1868, 1869,1871,1872,1873,1874,1875,1876 ,1877,1878,1880,1881,1882,1883,188 4,1885,1886,1887,1889,1890,1891,18 Page 52 Source Listing W3SETA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 92,1893,1894,1895,1896,1897,1898,1 899,1900,1901,1902,1903,1905,1906, 1907,1908,1909,1910,1911,1913,1914 ,1915,1916,1918,1919,1920,1921,192 2,1924,1928,1929,1931,1932,1934,19 35,1936,1937,1938,1939,1940,1941,1 943,1945,1946,1947,1948,1949,1952, 1953,1954,1955,1956,1957,1958,1961 ,1962,1963,1964,1965,1966,1967,196 9,1971,1972,1979,1980,1981,1982,19 83,1984,1985,1986,1987,1988,1989,1 990,1991,1992,1993,1994,1995,1996, 1997,1998,1999,2000,2001,2002,2003 ,2004,2005,2006,2007,2008,2009,201 0,2011 INPUTS Local 1759 RECORD 2280 1 1 ALC,TGT 1759,1945,1952 IP11 Local 1979 I(4) 4 1 1 PTR 1979 IP12 Local 1980 I(4) 4 1 1 PTR 1980 IP13 Local 1981 I(4) 4 1 1 PTR 1981 IP14 Local 1982 I(4) 4 1 1 PTR 1982 IP21 Local 1987 I(4) 4 1 1 PTR 1987 IP22 Local 1988 I(4) 4 1 1 PTR 1988 IP23 Local 1989 I(4) 4 1 1 PTR 1989 IP24 Local 1990 I(4) 4 1 1 PTR 1990 IPASS Local 1798 I(4) 4 scalar PTR 1798 ITER Local 1969 I(4) 4 2 1 PTR 1969 ITIME Local 1797 I(4) 4 scalar PTR 1797 MAPAXY Local 1963 I(4) 4 1 1 PTR 1963 MAPCXY Local 1964 I(4) 4 1 1 PTR 1964 MAPTH2 Local 1965 I(4) 4 1 1 PTR 1965 MAPTRN Local 1967 L(4) 4 1 1 PTR 1967 MAPWN2 Local 1966 I(4) 4 1 1 PTR 1966 MAPX2 Local 1961 I(4) 4 1 1 PTR 1961 MAPY2 Local 1962 I(4) 4 1 1 PTR 1962 MSCX Local 1915 R(4) 4 1 1 PTR 1915,2147 MSCY Local 1916 R(4) 4 1 1 PTR 1916,2148 MSSX Local 1913 R(4) 4 1 1 PTR 1913,2145 MSSY Local 1914 R(4) 4 1 1 PTR 1914,2146 NACT Local 1813 I(4) 4 scalar PTR,TGT 1813 NCENT Local 1814 I(4) 4 scalar PTR,TGT 1814 NDSE Dummy 1694 I(4) 4 scalar ARG,IN 1780,1785 NDST Dummy 1694 I(4) 4 scalar ARG,IN NFR Local 1816 I(4) 4 scalar PTR,TGT 1816 NFRCHG Local 1818 I(4) 4 scalar PTR,TGT 1818 NFRHGH Local 1817 I(4) 4 scalar PTR,TGT 1817 NLINIT Local 1840 L(4) 4 scalar PTR 1840,1978 NMX0 Local 1807 I(4) 4 scalar PTR,TGT 1807 NMX1 Local 1808 I(4) 4 scalar PTR,TGT 1808 NMX2 Local 1809 I(4) 4 scalar PTR,TGT 1809 NMY0 Local 1810 I(4) 4 scalar PTR,TGT 1810 NMY1 Local 1811 I(4) 4 scalar PTR,TGT 1811 NMY2 Local 1812 I(4) 4 scalar PTR,TGT 1812 NSEALM Local 1800 I(4) 4 scalar TGT 1800 NSPECX Local 1819 I(4) 4 scalar TGT 1819 NSPECY Local 1820 I(4) 4 scalar PTR,TGT 1820 Page 53 Source Listing W3SETA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References P2MSF Local 1760 I(4) 4 1 1 PTR 1760 P2SMS Local 1902 R(4) 4 2 1 PTR 1902,2134 PHIAW Local 1882 R(4) 4 1 1 PTR 1882,2114 PHIBBL Local 1910 R(4) 4 1 1 PTR 1910,2142 PHIOC Local 1895 R(4) 4 1 1 PTR 1895,2127 PHS Local 1871 R(4) 4 2 1 PTR 1871,2103 PLP Local 1873 R(4) 4 2 1 PTR 1873,2105 PNR Local 1878 R(4) 4 1 1 PTR 1878,2110 PRMS Local 1900 R(4) 4 1 1 PTR 1900,2132 PSI Local 1875 R(4) 4 2 1 PTR 1875,2107 PTH Local 1874 R(4) 4 2 1 PTR 1874,2106 PTP Local 1872 R(4) 4 2 1 PTR 1872,2104 PWS Local 1876 R(4) 4 2 1 PTR 1876,2108 PWST Local 1877 R(4) 4 1 1 PTR 1877,2109 SPPNT Local 1972 R(4) 4 3 1 PTR 1972 STH1M Local 1867 R(4) 4 2 1 PTR 1867 STH2M Local 1869 R(4) 4 2 1 PTR 1869 SWG1 Local 1832 R(4) 4 scalar PTR,TGT 1832 SWG2 Local 1833 R(4) 4 scalar PTR,TGT 1833 SWG3 Local 1834 R(4) 4 scalar PTR,TGT 1834 SWG4 Local 1835 R(4) 4 scalar PTR,TGT 1835 SWG5 Local 1836 R(4) 4 scalar PTR,TGT 1836 SWG6 Local 1837 R(4) 4 scalar PTR,TGT 1837 SWG7 Local 1838 R(4) 4 scalar PTR,TGT 1838 SWG8 Local 1839 R(4) 4 scalar PTR,TGT 1839 SXX Local 1889 R(4) 4 1 1 PTR 1889,2121 SXY Local 1891 R(4) 4 1 1 PTR 1891,2123 SYY Local 1890 R(4) 4 1 1 PTR 1890,2122 T01 Local 1857 R(4) 4 1 1 PTR 1857,2093 T02 Local 1855 R(4) 4 1 1 PTR 1855,2091 T0M1 Local 1856 R(4) 4 1 1 PTR 1856,2092 TAUBBL Local 1911 R(4) 4 2 1 PTR 1911,2143 TAUOX Local 1892 R(4) 4 1 1 PTR 1892,2124 TAUOY Local 1893 R(4) 4 1 1 PTR 1893,2125 TAUWIX Local 1883 R(4) 4 1 1 PTR 1883,2115 TAUWIY Local 1884 R(4) 4 1 1 PTR 1884,2116 TAUWNX Local 1885 R(4) 4 1 1 PTR 1885,2117 TAUWNY Local 1886 R(4) 4 1 1 PTR 1886,2118 TH1M Local 1866 R(4) 4 2 1 PTR 1866 TH2M Local 1868 R(4) 4 2 1 PTR 1868 THM Local 1859 R(4) 4 1 1 PTR 1859,2095 THP0 Local 1861 R(4) 4 1 1 PTR 1861,2097 THP1 Local 1863 R(4) 4 1 1 PTR 1863 THS Local 1860 R(4) 4 1 1 PTR 1860,2096 TPMS Local 1901 R(4) 4 1 1 PTR 1901,2133 TUSX Local 1896 R(4) 4 1 1 PTR 1896,2128 TUSY Local 1897 R(4) 4 1 1 PTR 1897,2129 U10 Local 1847 R(4) 4 1 1 PTR 1847 U10D Local 1848 R(4) 4 1 1 PTR 1848 UA Local 1845 R(4) 4 1 1 PTR 1845 UA0 Local 1953 R(4) 4 1 1 PTR 1953 UAI Local 1954 R(4) 4 1 1 PTR 1954 UBA Local 1907 R(4) 4 1 1 PTR 1907,2139 UBD Local 1908 R(4) 4 1 1 PTR 1908,2140 UD Local 1846 R(4) 4 1 1 PTR 1846 Page 54 Source Listing W3SETA 2014-09-16 16:50 Symbol Table w3adatmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References UD0 Local 1955 R(4) 4 1 1 PTR 1955 UDI Local 1956 R(4) 4 1 1 PTR 1956 UNGTYPE Param 1760 I(4) 4 scalar 1760,1969 US3D Local 1903 R(4) 4 2 1 PTR 1903,2135 US3DF Local 1760 I(4) 4 1 1 PTR 1760 USERO Local 1924 R(4) 4 2 1 PTR 1924,2156 USSX Local 1898 R(4) 4 1 1 PTR 1898,2130 USSY Local 1899 R(4) 4 1 1 PTR 1899,2131 W3GDATMD Module 1760 1760 W3IDATMD Module 1759 1759 W3SERVMD Module 1762 1762 W3SETA Subr 1694 754,1005,1671 WHITECAP Local 1887 R(4) 4 2 1 PTR 1887,2119 WLM Local 1854 R(4) 4 1 1 PTR 1854,2090 WN Local 1929 R(4) 4 2 1 PTR 1929 Page 55 Source Listing W3SETA 2014-09-16 16:50 w3adatmd.f90 2029 !/ ------------------------------------------------------------------- / 2030 SUBROUTINE W3XETA ( IMOD, NDSE, NDST ) 2031 !/ 2032 !/ +-----------------------------------+ 2033 !/ | WAVEWATCH III NOAA/NCEP | 2034 !/ | H. L. Tolman | 2035 !/ | FORTRAN 90 | 2036 !/ | Last update : 25-Dec-2012 | 2037 !/ +-----------------------------------+ 2038 !/ 2039 !/ 25-Dec-2012 : Origination. ( version 4.11 ) 2040 !/ 2041 ! 1. Purpose : 2042 ! 2043 ! Reduced version of W3SETA to point t expended output arrays. 2044 ! 2045 ! 10. Source code : 2046 ! 2047 !/ ------------------------------------------------------------------- / 2048 ! 2049 USE W3IDATMD, ONLY: INPUTS 2050 USE W3GDATMD, ONLY: E3DF, P2MSF, US3DF, GTYPE, UNGTYPE 2051 ! 2052 USE W3SERVMD, ONLY: EXTCDE 2053 ! 2054 IMPLICIT NONE 2055 !/ 2056 !/ ------------------------------------------------------------------- / 2057 !/ Parameter list 2058 !/ 2059 INTEGER, INTENT(IN) :: IMOD, NDSE, NDST 2060 !/ 2061 !/ ------------------------------------------------------------------- / 2062 !/ Local parameters 2063 !/ 2064 !/ 2065 ! 2066 ! -------------------------------------------------------------------- / 2067 ! 1. Test input and module status 2068 ! 2069 IF ( NADATA .EQ. -1 ) THEN 2070 WRITE (NDSE,1001) 2071 CALL EXTCDE (1) 2072 END IF 2073 ! 2074 IF ( IMOD.LT.1 .OR. IMOD.GT.NADATA ) THEN 2075 WRITE (NDSE,1002) IMOD, NADATA 2076 CALL EXTCDE (2) 2077 END IF 2078 ! 2079 ! -------------------------------------------------------------------- / 2080 ! 2. Set model numbers 2081 ! 2082 IADATA = IMOD 2083 ! 2084 ! -------------------------------------------------------------------- / 2085 ! 3. Set pointers Page 56 Source Listing W3XETA 2014-09-16 16:50 w3adatmd.f90 2086 ! 2087 IF ( AINIT2 ) THEN 2088 ! 2089 HS => WADATS(IMOD)%XHS 2090 WLM => WADATS(IMOD)%XWLM 2091 T02 => WADATS(IMOD)%XT02 2092 T0M1 => WADATS(IMOD)%XT0M1 2093 T01 => WADATS(IMOD)%XT01 2094 FP0 => WADATS(IMOD)%XFP0 2095 THM => WADATS(IMOD)%XTHM 2096 THS => WADATS(IMOD)%XTHS 2097 THP0 => WADATS(IMOD)%XTHP0 2098 ! FP1 => WADATS(IMOD)%XFP1 2099 ! THP1 => WADATS(IMOD)%XTHP1 2100 ! 2101 EF => WADATS(IMOD)%XEF 2102 ! 2103 PHS => WADATS(IMOD)%XPHS 2104 PTP => WADATS(IMOD)%XPTP 2105 PLP => WADATS(IMOD)%XPLP 2106 PTH => WADATS(IMOD)%XPTH 2107 PSI => WADATS(IMOD)%XPSI 2108 PWS => WADATS(IMOD)%XPWS 2109 PWST => WADATS(IMOD)%XPWST 2110 PNR => WADATS(IMOD)%XPNR 2111 ! 2112 CHARN => WADATS(IMOD)%XCHARN 2113 CGE => WADATS(IMOD)%XCGE 2114 PHIAW => WADATS(IMOD)%XPHIAW 2115 TAUWIX => WADATS(IMOD)%XTAUWIX 2116 TAUWIY => WADATS(IMOD)%XTAUWIY 2117 TAUWNX => WADATS(IMOD)%XTAUWNX 2118 TAUWNY => WADATS(IMOD)%XTAUWNY 2119 WHITECAP => WADATS(IMOD)%XWHITECAP 2120 ! 2121 SXX => WADATS(IMOD)%XSXX 2122 SYY => WADATS(IMOD)%XSYY 2123 SXY => WADATS(IMOD)%XSXY 2124 TAUOX => WADATS(IMOD)%XTAUOX 2125 TAUOY => WADATS(IMOD)%XTAUOY 2126 BHD => WADATS(IMOD)%XBHD 2127 PHIOC => WADATS(IMOD)%XPHIOC 2128 TUSX => WADATS(IMOD)%XTUSX 2129 TUSY => WADATS(IMOD)%XTUSY 2130 USSX => WADATS(IMOD)%XUSSX 2131 USSY => WADATS(IMOD)%XUSSY 2132 PRMS => WADATS(IMOD)%XPRMS 2133 TPMS => WADATS(IMOD)%XTPMS 2134 P2SMS => WADATS(IMOD)%XP2SMS 2135 US3D => WADATS(IMOD)%XUS3D 2136 ! 2137 ABA => WADATS(IMOD)%XABA 2138 ABD => WADATS(IMOD)%XABD 2139 UBA => WADATS(IMOD)%XUBA 2140 UBD => WADATS(IMOD)%XUBD 2141 BEDFORMS=> WADATS(IMOD)%XBEDFORMS 2142 PHIBBL => WADATS(IMOD)%XPHIBBL Page 57 Source Listing W3XETA 2014-09-16 16:50 w3adatmd.f90 2143 TAUBBL => WADATS(IMOD)%XTAUBBL 2144 ! 2145 MSSX => WADATS(IMOD)%XMSSX 2146 MSSY => WADATS(IMOD)%XMSSY 2147 MSCX => WADATS(IMOD)%XMSCX 2148 MSCY => WADATS(IMOD)%XMSCY 2149 ! 2150 DTDYN => WADATS(IMOD)%XDTDYN 2151 FCUT => WADATS(IMOD)%XFCUT 2152 CFLXYMAX => WADATS(IMOD)%XCFLXYMAX 2153 CFLTHMAX => WADATS(IMOD)%XCFLTHMAX 2154 CFLKMAX => WADATS(IMOD)%XCFLKMAX 2155 ! 2156 USERO => WADATS(IMOD)%XUSERO 2157 ! 2158 END IF 2159 ! 2160 RETURN 2161 ! 2162 ! Formats 2163 ! 2164 1001 FORMAT (/' *** ERROR W3XETA : GRIDS NOT INITIALIZED *** '/ & 2165 ' RUN W3NMOD FIRST '/) 2166 1002 FORMAT (/' *** ERROR W3XETA : ILLEGAL MODEL NUMBER *** '/ & 2167 ' IMOD = ',I10/ & 2168 ' NADATA = ',I10/) 2169 ! 2170 !/ 2171 !/ End of W3XETA ----------------------------------------------------- / 2172 !/ 2173 END SUBROUTINE W3XETA Page 58 Source Listing W3XETA 2014-09-16 16:50 Entry Points w3adatmd.f90 ENTRY POINTS Name w3adatmd_mp_w3xeta_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1001 Label 2164 2070 1002 Label 2166 2075 E3DF Local 2050 I(4) 4 2 1 PTR 2050 EXTCDE Subr 2052 2052,2071,2076 GTYPE Local 2050 I(4) 4 scalar PTR 2050 IMOD Dummy 2030 I(4) 4 scalar ARG,IN 2074,2075,2082,2089,2090,2091,2092 ,2093,2094,2095,2096,2097,2101,210 3,2104,2105,2106,2107,2108,2109,21 10,2112,2113,2114,2115,2116,2117,2 118,2119,2121,2122,2123,2124,2125, 2126,2127,2128,2129,2130,2131,2132 ,2133,2134,2135,2137,2138,2139,214 0,2141,2142,2143,2145,2146,2147,21 48,2150,2151,2152,2153,2154,2156 INPUTS Local 2049 RECORD 2280 1 1 ALC,TGT 2049 NDSE Dummy 2030 I(4) 4 scalar ARG,IN 2070,2075 NDST Dummy 2030 I(4) 4 scalar ARG,IN P2MSF Local 2050 I(4) 4 1 1 PTR 2050 UNGTYPE Param 2050 I(4) 4 scalar 2050 US3DF Local 2050 I(4) 4 1 1 PTR 2050 W3GDATMD Module 2050 2050 W3IDATMD Module 2049 2049 W3SERVMD Module 2052 2052 W3XETA Subr 2030 Page 59 Source Listing W3XETA 2014-09-16 16:50 w3adatmd.f90 2174 !/ 2175 !/ End of module W3ADATMD -------------------------------------------- / 2176 !/ 2177 END MODULE W3ADATMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References W3ADATMD Module 1 WADAT Type 302 15976 scalar 430,434 XFP1 Local 326 R(4) 4 1 1 PTR XTHP1 Local 326 R(4) 4 1 1 PTR Page 60 Source Listing W3XETA 2014-09-16 16:50 Subprograms/Common Blocks w3adatmd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References W3ADATMD Module 1 W3DIMA Subr 625 W3DMNL Subr 1529 W3NAUX Subr 517 W3SETA Subr 1694 754,1005,1671 W3XDMA Subr 1031 W3XETA Subr 2030 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 Page 61 Source Listing W3XETA 2014-09-16 16:50 w3adatmd.f90 -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -free -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -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 : w3adatmd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100