Page 1 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3SRCEMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | F. Ardhuin | 8 !/ | FORTRAN 90 | 9 !/ | Last update : 14-Nov-2013 | 10 !/ +-----------------------------------+ 11 !/ 12 !/ For updates see subroutine. 13 !/ 14 ! 1. Purpose : 15 ! 16 ! Source term integration routine. 17 ! 18 ! 2. Variables and types : 19 ! 20 ! Name Type Scope Description 21 ! ---------------------------------------------------------------- 22 ! OFFSET R.P. Private Offset in time integration scheme. 23 ! 0.5 in original WAM, now 1.0 24 ! ---------------------------------------------------------------- 25 ! 26 ! 3. Subroutines and functions : 27 ! 28 ! Name Type Scope Description 29 ! ---------------------------------------------------------------- 30 ! W3SRCE Subr. Public Calculate and integrate source terms. 31 ! ---------------------------------------------------------------- 32 ! 33 ! 4. Subroutines and functions used : 34 ! 35 ! See corresponding documentation of W3SRCE. 36 ! 37 ! 5. Remarks : 38 ! 39 ! 6. Switches : 40 ! 41 ! See section 9 of W3SRCE. 42 ! 43 ! 7. Source code : 44 ! 45 !/ ------------------------------------------------------------------- / 46 !/ 47 REAL, PARAMETER, PRIVATE:: OFFSET = 1. 48 !/ 49 CONTAINS 50 !/ ------------------------------------------------------------------- / 51 SUBROUTINE W3SRCE ( IX, IY, IMOD, SPEC, ALPHA, WN1, CG1, D_INP, & 52 U10ABS, U10DIR, AS, USTAR, USTDIR, ICE, & 53 CX, CY, REFLEC, REFLED,DELX, DELY, DELA, & 54 TRNX, TRNY, BERG, FPI, DTDYN, FCUT, DTG, & 55 TAUWX, TAUWY, TAUOX, TAUOY, TAUWIX, TAUWIY, & 56 TAUWNX, TAUWNY, PHIAW, CHARN, PHIOC, & 57 WHITECAP, D50, PSIC, BEDFORM , PHIBBL, & Page 2 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 58 TAUBBL ) 59 !/ 60 !/ +-----------------------------------+ 61 !/ | WAVEWATCH III NOAA/NCEP | 62 !/ | H. L. Tolman | 63 !/ | F. Ardhuin | 64 !/ | FORTRAN 90 | 65 !/ | Last update : 14-Nov-2013 | 66 !/ +-----------------------------------+ 67 !/ 68 !/ 06-Dec-1996 : Final FORTRAN 77 ( version 1.18 ) 69 !/ 04-Feb-2000 : Upgrade to FORTRAN 90 ( version 2.00 ) 70 !/ 14-Feb-2000 : Exact-NL added ( version 2.01 ) 71 !/ 04-May-2000 : Non-central integration ( version 2.03 ) 72 !/ 02-Feb-2001 : Xnl version 3.0 ( version 2.07 ) 73 !/ 09-May-2002 : Switch clean up. ( version 2.21 ) 74 !/ 13-Nov-2002 : Add stress vector. ( version 3.00 ) 75 !/ 27-Nov-2002 : First version of VDIA and MDIA. ( version 3.01 ) 76 !/ 07-Oct-2003 : Output options for NN training. ( version 3.05 ) 77 !/ 24-Dec-2004 : Multiple model version. ( version 3.06 ) 78 !/ 23-Jun-2006 : Linear input added. ( version 3.09 ) 79 !/ 27-Jun-2006 : Adding file name preamble. ( version 3.09 ) 80 !/ 04-Jul-2006 : Separation of stress computation. ( version 3.09 ) 81 !/ 16-Apr-2007 : Miche style limiter added. ( version 3.11 ) 82 !/ (J. H. Alves) 83 !/ 25-Apr-2007 : Battjes-Janssen Sdb added. ( version 3.11 ) 84 !/ (J. H. Alves) 85 !/ 09-Oct-2007 : Adding WAM 4+ and SB1 options. ( version 3.13 ) 86 !/ (F. Ardhuin) 87 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 88 !/ 19-Aug-2010 : Making treatment of 0 water depth ( version 3.14.6 ) 89 !/ consistent with the rest of the model. 90 !/ 31-Mar-2010 : Adding ice conc. and reflections ( version 3.14.4 ) 91 !/ 15-May-2010 : Adding transparencies ( version 3.14.4 ) 92 !/ 01-Jun-2011 : Movable bed bottom friction in BT4 ( version 4.01 ) 93 !/ 01-Jul-2011 : Energy and momentum flux, friction ( version 4.01 ) 94 !/ 24-Aug-2011 : Uses true depth for depth-induced ( version 4.04 ) 95 !/ 16-Sep-2011 : Initialization of TAUWAX, TAUWAY ( version 4.04 ) 96 !/ 1-Dec-2011 : Adding BYDRZ source term package ( version 4.04 ) 97 !/ ST6 and optional Hwang (2011) 98 !/ stresses FLX4. 99 !/ 14-Mar-2012 : Update of BT4, passing PSIC ( version 4.04 ) 100 !/ 13-Jul-2012 : Move GMD (SNL3) and nonlinear filter (SNLS) 101 !/ from 3.15 (HLT). ( version 4.08 ) 102 !/ 28-Aug-2013 : Corrected MLIM application ( version 4.11 ) 103 !/ 14-Nov-2013 : Make orphaned pars in par lst local ( version 4.13 ) 104 !/ 17-Nov-2013 : Coupling fraction of ice-free ( version 4.13 ) 105 !/ surface to SIN and SDS. (S. Zieger) 106 !/ 107 !/ Copyright 2009-2013 National Weather Service (NWS), 108 !/ National Oceanic and Atmospheric Administration. All rights 109 !/ reserved. WAVEWATCH III is a trademark of the NWS. 110 !/ No unauthorized use without permission. 111 !/ 112 ! 1. Purpose : 113 ! 114 ! Calculate and integrate source terms for a single grid point. Page 3 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 115 ! 116 ! 2. Method : 117 ! 118 ! Physics : see manual and corresponding subroutines. 119 ! 120 ! Numerics : 121 ! 122 ! Dynamic-implicit integration of the source terms based on 123 ! WW-II (Tolman 1992). The dynamic time step is calculated 124 ! given a maximum allowed change of spectral densities for 125 ! frequencies / wavenumbers below the usual cut-off. 126 ! The maximum change is given by the minimum of a parametric 127 ! and a relative change. The parametric change relates to a 128 ! PM type equilibrium range 129 ! 130 ! -1 (2pi)**4 1 131 ! dN(k) = Xp alpha pi ---------- ------------ 132 ! max g**2 k**3 sigma 133 ! 134 ! 1 . 135 ! = FACP ------------ (1) 136 ! k**3 sigma . 137 ! 138 ! where 139 ! alpha = 0.62e-4 (set in W3GRID) 140 ! Xp fraction of PM shape (read in W3GRID) 141 ! FACP combined factor (set in W3GRID) 142 ! 143 ! The maximum relative change is given as 144 ! 145 ! / +- -+ \ . 146 ! dN(k) = Xr max | N(k) , max | Nx , Xfilt N(k) | | (2) 147 ! max \ +- max-+ / . 148 ! 149 ! where 150 ! Xr fraction of relative change (read in W3GRID) 151 ! Xfilt filter level (read in W3GRID) 152 ! Nx Maximum parametric change (1) 153 ! for largest wavenumber. 154 ! 155 ! 3. Parameters : 156 ! 157 ! Parameter list 158 ! ---------------------------------------------------------------- 159 ! IX,IY Int. I Discrete grid point counters. 160 ! IMOD Int. I Model number. 161 ! SPEC R.A. I/O Spectrum (action) in 1-D form. 162 ! ALPHA R.A. I/O Nondimenional 1-D spectrum corresponding 163 ! to above full spectra (Phillip's const.). 164 ! Calculated separately for numerical 165 ! economy on vector machine (W3SPR2). 166 ! WN1 R.A. I Discrete wavenumbers. 167 ! CG1 R.A. I Id. group velocities. 168 ! D_INP Real. I Depth. Compared to DMIN to get DEPTH. 169 ! U10ABS Real. I Wind speed at reference height. 170 ! U10DIR Real. I Id. wind direction. 171 ! AS Real. I Air-sea temp. difference. ( !/ST3 ) Page 4 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 172 ! USTAR Real. !/O Friction velocity. 173 ! USTDIR Real !/O Idem, direction. 174 ! ICE Real I Sea ice concentration 175 ! BERG RealR I Iceberg damping coefficient ( !/BS1 ) 176 ! REFLEC R.A. I reflection coefficients ( !/BS1 ) 177 ! REFLED I.A. I reflection direction ( !/BS1 ) 178 ! TRNX-Y Real I Grid transparency in X and Y ( !/BS1 ) 179 ! CX-Y Real. I Current velocity components. ( !/BS1 ) 180 ! DELX Real. I grid cell size in X direction ( !/BS1 ) 181 ! DELY Real. I grid cell size in Y direction ( !/BS1 ) 182 ! DELA Real. I grid cell area ( !/BS1 ) 183 ! FPI Real I/O Peak-input frequency. ( !/ST2 ) 184 ! WHITECAP R.A. O Whitecap statisics ( !/ST4 ) 185 ! DTDYN Real O Average dynamic time step. 186 ! FCUT Real O Cut-off frequency for tail. 187 ! DTG Real I Global time step. 188 ! D50 Real I Sand grain size ( !/BT4 ) 189 ! BEDFORM R.A. I/O Bedform parameters ( !/BT4 ) 190 ! PSIC Real I Critical Shields ( !/BT4 ) 191 ! PHIBBL Real O Energy flux to BBL ( !/BTx ) 192 ! TAUBBL R.A. O Momentum flux to BBL ( !/BTx ) 193 ! ---------------------------------------------------------------- 194 ! Note: several pars are set to I/O to avoid compiler warnings. 195 ! 196 ! 4. Subroutines used : 197 ! 198 ! Name Type Module Description 199 ! ---------------------------------------------------------------- 200 ! W3SPRn Subr. W3SRCnMD Mean wave parameters for use in 201 ! source terms. 202 ! W3FLXn Subr. W3FLXnMD Flux/stress computation. 203 ! W3SLNn Subr. W3SLNnMD Linear input. 204 ! W3SINn Subr. W3SRCnMD Input source term. 205 ! W3SNLn Subr. W3SNLnMD Nonlinear interactions. 206 ! W3SNLS Subr. W3SNLSMD Nonlinear smoother. 207 ! W3SDSn Subr. W3SRCnMD Whitecapping source term 208 ! W3SBTn Subr. W3SBTnMD Bottom friction source term. 209 ! W3SDBn Subr. W3SBTnMD Depth induced breaking source term. 210 ! W3STRn Subr. W3STRnMD Triad interaction source term. 211 ! W3SBSn Subr. W3SBSnMD Bottom scattering source term. 212 ! W3REFn Subr. W3REFnMD Reflexions (shore, icebergs ...). 213 ! W3SXXn Subr. W3SXXnMD Unclassified source term. 214 ! STRACE Subr. W3SERVMD Subroutine tracing (!/S) 215 ! ---------------------------------------------------------------- 216 ! 217 ! 5. Called by : 218 ! 219 ! Name Type Module Description 220 ! ---------------------------------------------------------------- 221 ! W3WAVE Subr. W3WAVEMD Actual wave model routine. 222 ! ---------------------------------------------------------------- 223 ! 224 ! 6. Error messages : 225 ! 226 ! None. 227 ! 228 ! 7. Remarks : Page 5 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 229 ! 230 ! - No testing is performed on the status of the grid point. 231 ! 232 ! 8. Structure : 233 ! 234 ! ----------------------------------------------------------------- 235 ! 1. Preparations 236 ! a Set maximum change and wavenumber arrays. 237 ! b Prepare dynamic time stepping. 238 ! c Compute mean parameters. ( W3SPRn ) 239 ! d Compute stresses (if posible). 240 ! e Prepare cut-off 241 ! f Test output for !/NNT option. 242 ! --start-dynamic-integration-loop--------------------------------- 243 ! 2. Calculate source terms 244 ! a Input. ( W3SLNx, W3SINn ) 245 ! b Nonlinear interactions. ( W3SNLn ) 246 ! c Dissipation ( W3SDSn ) 247 ! 1 as included in source terms ( W3SDSn ) 248 ! 2 optional dissipation due to different physics ( W3SWLn ) 249 ! d Bottom friction. ( W3SBTn ) 250 ! 3. Calculate cut-off frequencie(s) 251 ! 4. Summation of source terms and diagonal term and time step. 252 ! 5. Increment spectrum. 253 ! 6. Add tail 254 ! a Mean wave parameters and cut-off ( W3SPRn ) 255 ! b 'Seeding' of spectrum. ( !/SEED ) 256 ! c Add tail 257 ! 7. Check if integration complete. 258 ! --end-dynamic-integration-loop----------------------------------- 259 ! 8. Save integration data. 260 ! ----------------------------------------------------------------- 261 ! 262 ! 9. Switches : 263 ! 264 ! !/FLX1 Wu (1980) stress computation. ( Choose one ) 265 ! !/FLX2 T&C (1996) stress computation. 266 ! !/FLX3 T&C (1996) stress computation with cap. 267 ! !/FLX4 Hwang (2011) stress computation (2nd order). 268 ! 269 ! !/LN0 No linear input. ( Choose one ) 270 ! !/LNX User-defined bottom friction. 271 ! 272 ! !/ST0 No input and dissipation. ( Choose one ) 273 ! !/ST1 WAM-3 input and dissipation. 274 ! !/ST2 Tolman and Chalikov (1996) input and dissipation. 275 ! !/ST3 WAM 4+ input and dissipation. 276 ! !/ST4 Ardhuin et al. (2009, 2010) 277 ! !/ST6 BYDB source terms after Babanin, Young, Donelan and Banner. 278 ! !/STX User-defined input and dissipation. 279 ! 280 ! !/NL0 No nonlinear interactions. ( Choose one ) 281 ! !/NL1 Discrete interaction approximation. 282 ! !/NL2 Exact nonlinear interactions. 283 ! !/NL3 Generalized Multiple DIA. 284 ! !/NLX User-defined nonlinear interactions. 285 ! !/NLS Nonlinear HF smoother. Page 6 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 286 ! 287 ! !/BT0 No bottom friction. ( Choose one ) 288 ! !/BT1 JONSWAP bottom friction. 289 ! !/BT4 Bottom friction using movable bed roughness 290 ! (Tolman 1994, Ardhuin & al. 2003) 291 ! !/BT8 Muddy bed (Dalrymple & Liu). 292 ! !/BT9 Muddy bed (Ng). 293 ! !/BTX User-defined bottom friction. 294 ! 295 ! !/IC1 Dissipation via interaction with ice according to simple 296 ! methods: 1) uniform in frequency or 297 ! !/IC2 2) Liu et al. model 298 ! !/IC3 Dissipation via interaction with ice according to a 299 ! viscoelastic sea ice model (Wang and Shen 2010). 300 ! 301 ! !/DB0 No depth-limited breaking. ( Choose one ) 302 ! !/DB1 Battjes-Janssen depth-limited breaking. 303 ! !/DBX User-defined bottom friction. 304 ! 305 ! !/TR0 No triad interactions. ( Choose one ) 306 ! !/TRX User-defined bottom friction. 307 ! 308 ! !/BS0 No bottom scattering. ( Choose one ) 309 ! !/BS1 Scattering term by Ardhuin and Magne (2007). 310 ! !/BSX User-defined bottom scattering 311 ! 312 ! !/XX0 No arbitrary additional source term. ( Choose one ) 313 ! !/XXX User-defined bottom friction. 314 ! 315 ! !/MLIM Miche style limiter for shallow water and steepness. 316 ! 317 ! !/SEED 'Seeding' of lowest frequency for suffuciently strong 318 ! winds. 319 ! 320 ! !/NNT Write output to file test_data_NNN.ww3 for NN training. 321 ! 322 ! !/S Enable subroutine tracing. 323 ! !/T Enable general test output. 324 ! 325 ! 10. Source code : 326 ! 327 !/ ------------------------------------------------------------------- / 328 USE CONSTANTS 329 USE W3GDATMD, ONLY: NK, NTH, NSPEC, SIG, TH, DMIN, DTMAX, & 330 DTMIN, FACTI1, FACTI2, FACSD, FACHFA, FACP, & 331 XFC, XFLT, XREL, XFT, FXFM, FXPM, DDEN, & 332 FTE, FTF, FHMAX, ECOS, ESIN 333 USE W3WDATMD, ONLY: TIME 334 USE W3ODATMD, ONLY: NDSE, NDST 335 USE W3IDATMD, ONLY: FLAGS 336 USE W3SLN1MD 337 USE W3SRC4MD 338 USE W3GDATMD, ONLY : ZZWND, FFXFM, FFXPM 339 USE W3SNL1MD 340 USE W3SBT1MD 341 USE W3SDB1MD 342 !/ Page 7 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 343 IMPLICIT NONE 344 !/ 345 !/ ------------------------------------------------------------------- / 346 !/ Parameter list 347 !/ 348 INTEGER, INTENT(IN) :: IX, IY, IMOD 349 REAL, INTENT(IN) :: WN1(NK), CG1(NK), D_INP, U10ABS, & 350 U10DIR, AS, ICE, CX, CY, DTG, D50,PSIC 351 INTEGER, INTENT(IN) :: REFLED(6) 352 REAL, INTENT(IN) :: REFLEC(4), DELX, DELY, DELA, & 353 TRNX, TRNY, BERG 354 REAL, INTENT(INOUT) :: SPEC(NSPEC), ALPHA(NK), USTAR, & 355 USTDIR, FPI, TAUOX, TAUOY, & 356 TAUWX, TAUWY, PHIAW, PHIOC, & 357 CHARN, BEDFORM(3), PHIBBL, & 358 TAUBBL(2), WHITECAP(4), & 359 TAUWIX, TAUWIY, TAUWNX, TAUWNY 360 REAL, INTENT(OUT) :: DTDYN, FCUT 361 !/ 362 !/ ------------------------------------------------------------------- / 363 !/ Local parameters 364 !/ 365 INTEGER :: IK, ITH, IS, IS0, NSTEPS, NKH, NKH1,& 366 NSPECH, IDT, IERR 367 REAL :: DTTOT, FHIGH, DT, AFILT, DAMAX, AFAC,& 368 HDT, ZWND, FP, DEPTH, TAUSCX, TAUSCY 369 REAL :: EMEAN, FMEAN, WNMEAN, AMAX, CD, Z0 370 REAL :: FMEANS, FH1, FH2 371 REAL :: QCERR = 0. !/XNL2 and !/NNT 372 REAL :: HM, EM 373 REAL :: EBAND, EINIT, EFINISH, HSTOT, PHINL, & 374 FMEAN1, FMEANWS, MWXINIT, MWYINIT, & 375 FACTOR, DRAT, TAUWAX, TAUWAY, & 376 MWXFINISH, MWYFINISH, A1BAND, B1BAND 377 REAL :: DAM (NSPEC), WN2 (NSPEC), & 378 VSLN(NSPEC), & 379 VSIN(NSPEC), VDIN(NSPEC), & 380 VSNL(NSPEC), VDNL(NSPEC), & 381 VSDS(NSPEC), VDDS(NSPEC), & 382 VSBT(NSPEC), VDBT(NSPEC), & 383 VSIC(NSPEC), VDIC(NSPEC), & 384 VSDB(NSPEC), VDDB(NSPEC), & 385 VS (NSPEC), VD (NSPEC), EB(NK) 386 LOGICAL :: LLWS(NSPEC) 387 REAL :: FOUT(NK,NTH), SOUT(NK,NTH), DOUT(NK,NTH) 388 LOGICAL, SAVE :: FLTEST = .FALSE., FLAGNN = .TRUE. 389 LOGICAL :: SHAVE 390 LOGICAL, SAVE :: FIRST = .TRUE. 391 392 !/ 393 !/ ------------------------------------------------------------------- / 394 !/ 395 ! 396 DEPTH = MAX ( DMIN , D_INP ) 397 ! 398 VSBT = 0. 399 VDBT = 0. Page 8 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 400 VSIC = 0. 401 VDIC = 0. 402 ! 403 DRAT = DAIR / DWAT 404 ! 405 ! 1. Preparations --------------------------------------------------- * 406 ! 407 ! 1.a Set maximum change and wavenumber arrays. 408 ! 409 DO IK=1, NK 410 DAM(1+(IK-1)*NTH) = FACP / ( SIG(IK) * WN1(IK)**3 ) 411 WN2(1+(IK-1)*NTH) = WN1(IK) 412 END DO 413 ! 414 DO IK=1, NK 415 IS0 = (IK-1)*NTH 416 DO ITH=2, NTH 417 DAM(ITH+IS0) = DAM(1+IS0) 418 WN2(ITH+IS0) = WN2(1+IS0) 419 END DO 420 END DO 421 ! 422 ! 1.b Prepare dynamic time stepping 423 ! 424 DTDYN = 0. 425 DTTOT = 0. 426 NSTEPS = 0 427 PHIAW = 0. 428 CHARN = 0. 429 PHINL = 0. 430 PHIBBL = 0. 431 TAUWIX = 0. 432 TAUWIY = 0. 433 TAUWNX = 0. 434 TAUWNY = 0. 435 TAUWAX = 0. 436 TAUWAY = 0. 437 TAUSCX = 0. 438 TAUSCY = 0. 439 TAUBBL(:)= 0. 440 ! 441 ! 1.c Set mean parameters 442 ! 443 TAUWX=0. 444 TAUWY=0. 445 IF ( FIRST ) THEN 446 LLWS(:) = .TRUE. 447 USTAR=0. 448 USTDIR=0. 449 ELSE 450 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, & 451 AMAX, U10ABS, U10DIR, USTAR, USTDIR, & 452 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS) 453 CALL W3SIN4 ( SPEC, CG1, WN2, U10ABS, USTAR, DRAT, AS, & 454 U10DIR, Z0, CD, TAUWX, TAUWY, TAUWAX, TAUWAY, & 455 ICE, VSIN, VDIN, LLWS, IX, IY ) 456 END IF Page 9 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 457 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN, & 458 AMAX, U10ABS, U10DIR, USTAR, USTDIR, & 459 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS) 460 ! 461 ! 1.c2 computes the initial spectral energy and momentum 462 ! 463 EINIT = 0. 464 ! GRAV*MWINIT is the depth-integrated velocity in m^2/s 465 MWXINIT= 0. 466 MWYINIT= 0. 467 DO IK=1, NK 468 EBAND = 0. 469 A1BAND = 0. 470 B1BAND = 0. 471 DO ITH=1, NTH 472 EBAND = EBAND + SPEC(ITH+(IK-1)*NTH) 473 A1BAND = A1BAND + SPEC(ITH+(IK-1)*NTH)*ECOS(ITH) 474 B1BAND = B1BAND + SPEC(ITH+(IK-1)*NTH)*ESIN(ITH) 475 END DO 476 EINIT = EINIT + EBAND * DDEN(IK) / CG1(IK) 477 MWXINIT = MWXINIT + A1BAND * DDEN(IK) / CG1(IK) & 478 * WN1(IK)/SIG(IK) 479 MWYINIT = MWYINIT + B1BAND * DDEN(IK) / CG1(IK) & 480 * WN1(IK)/SIG(IK) 481 END DO 482 ! 1.d Stresses 483 ! 484 ! 1.e Prepare cut-off 485 ! 486 FHIGH = MAX(FFXFM * MAX(FMEAN1,FMEANWS),FFXPM / USTAR) 487 ! 488 ! 1.f Prepare output file for !/NNT option 489 ! 490 ! ... Branch point dynamic integration - - - - - - - - - - - - - - - - 491 ! 492 DO 493 ! 494 NSTEPS = NSTEPS + 1 495 ! 496 ! 2. Calculate source terms ----------------------------------------- * 497 ! 498 ! 2.a Input. 499 ! 500 CALL W3SLN1 ( WN1, FHIGH, USTAR, U10DIR , VSLN ) 501 ! 502 CALL W3SIN4 ( SPEC, CG1, WN2, U10ABS, USTAR, DRAT, AS, & 503 U10DIR, Z0, CD, TAUWX, TAUWY, TAUWAX, TAUWAY, & 504 ICE, VSIN, VDIN, LLWS, IX, IY ) 505 ! 506 ! 2.b Nonlinear interactions. 507 ! 508 CALL W3SNL1 ( SPEC, CG1, WNMEAN*DEPTH, VSNL, VDNL ) 509 ! 510 ! 2.c Dissipation. 511 ! 2.c1 as in source term package 512 ! 513 CALL W3SDS4 ( SPEC, WN1, CG1, & Page 10 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 514 USTAR, USTDIR, DEPTH, VSDS, VDDS, IX, IY, WHITECAP ) 515 ! 516 CALL W3SDB1 ( SPEC, WN2, DEPTH, EMEAN, FMEAN, WNMEAN, & 517 VSDB, VDDB ) 518 ! 519 ! 2.c2 optional dissipation parameterisations 520 ! 521 ! 2.d Bottom interactions. 522 ! 523 CALL W3SBT1 ( SPEC, CG1, WN1, DEPTH, VSBT, VDBT ) 524 ! 525 ! 2.e Additional sources. 526 ! 527 528 ! 529 ! 2.f Dump training data if necessary 530 ! 531 ! 3. Set frequency cut-off ------------------------------------------ * 532 ! 533 NKH = MIN ( NK , INT(FACTI2+FACTI1*LOG(MAX(1.E-7,FHIGH))) ) 534 NKH1 = MIN ( NK , NKH+1 ) 535 NSPECH = NKH1*NTH 536 ! 537 ! 4. Summation of source terms and diagonal term and time step ------ * 538 ! 539 DT = MIN ( DTG-DTTOT , DTMAX ) 540 AFILT = MAX ( DAM(NSPEC) , XFLT*AMAX ) 541 ! 542 ! For input and dissipation calculate the fraction of the ice-free 543 ! surface. In the presence of ice, the effective water surface 544 ! is reduce to a fraction of the cell size free from ice, and so is 545 ! input and dissipation: 546 ! SIN = (1-ICE)*SIN and SDS=(1-ICE)*SDS ------------------ * 547 IF ( FLAGS(4) ) THEN 548 VSIN(1:NSPECH) = MAX(0.,MIN(1.,1.-ICE)) * VSIN(1:NSPECH) 549 VDIN(1:NSPECH) = MAX(0.,MIN(1.,1.-ICE)) * VDIN(1:NSPECH) 550 VSDS(1:NSPECH) = MAX(0.,MIN(1.,1.-ICE)) * VSDS(1:NSPECH) 551 VDDS(1:NSPECH) = MAX(0.,MIN(1.,1.-ICE)) * VDDS(1:NSPECH) 552 VSIC(1:NSPECH) = ICE * VSIC(1:NSPECH) 553 VDIC(1:NSPECH) = ICE * VDIC(1:NSPECH) 554 END IF 555 ! 556 DO IS=1, NSPECH 557 VS(IS) = VSLN(IS) + VSIN(IS) + VSNL(IS) & 558 + VSDS(IS) + VSBT(IS) + VSIC(IS) 559 VS(IS) = VS(IS) + VSDB(IS) 560 VD(IS) = VDIN(IS) + VDNL(IS) & 561 + VDDS(IS) + VDBT(IS) + VDIC(IS) 562 VD(IS) = VD(IS) + VDDB(IS) 563 DAMAX = MIN ( DAM(IS) , MAX ( XREL*SPEC(IS) , AFILT ) ) 564 AFAC = 1. / MAX( 1.E-10 , ABS(VS(IS)/DAMAX) ) 565 DT = MIN ( DT , AFAC / ( MAX ( 1.E-10, & 566 1. + OFFSET*AFAC*MIN(0.,VD(IS)) ) ) ) 567 END DO 568 ! 569 DT = MAX ( 0.5 , DT ) 570 ! Page 11 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 571 DTDYN = DTDYN + DT 572 IDT = 1 + INT ( 0.99*(DTG-DTTOT)/DT ) 573 DT = (DTG-DTTOT)/REAL(IDT) 574 SHAVE = DT.LT.DTMIN .AND. DT.LT.DTG-DTTOT 575 DT = MAX ( DT , MIN (DTMIN,DTG-DTTOT) ) 576 HDT = OFFSET * DT 577 DTTOT = DTTOT + DT 578 579 ! 580 ! 5. Increment spectrum --------------------------------------------- * 581 ! 582 IF ( SHAVE ) THEN 583 ! 584 DO IS=1, NSPECH 585 VS(IS) = VS(IS) * DT / MAX ( 1. , (1.-HDT*VD(IS))) 586 VS(IS) = SIGN ( MIN (DAM(IS),ABS(VS(IS))) , VS(IS) ) 587 SPEC(IS) = MAX ( 0. , SPEC(IS)+VS(IS) ) 588 END DO 589 ! 590 ELSE 591 ! 592 DO IS=1, NSPECH 593 VS(IS) = VS(IS) * DT / MAX ( 1. , (1.-HDT*VD(IS))) 594 SPEC(IS) = MAX ( 0. , SPEC(IS)+VS(IS) ) 595 END DO 596 ! 597 END IF 598 ! 599 ! 5.b Computes 600 ! atmos->wave flux PHIAW-------------------------------- * 601 ! wave ->BBL flux PHIBBL------------------------------- * 602 ! 603 WHITECAP(3)=0. 604 HSTOT=0. 605 DO IK=1, NK 606 FACTOR=DDEN(IK)/CG1(IK) !& !Jacobian to get energy in band 607 !*GRAV/(SIG(IK)/WN1(IK)*DRAT) ! coefficient to get momentum 608 ! Wave direction is "direction to" 609 ! therefore there is a PLUS sign for the stress 610 DO ITH=1, NTH 611 IS = (IK-1)*NTH + ITH 612 PHIAW = PHIAW + (VSIN(IS))* DT * FACTOR & 613 / MAX ( 1. , (1.-HDT*VDIN(IS))) ! semi-implict integration scheme 614 615 PHIBBL= PHIBBL- (VSBT(IS))* DT * FACTOR & 616 / MAX ( 1. , (1.-HDT*VDBT(IS))) ! semi-implict integration scheme 617 PHINL = PHINL + VSNL(IS)* DT * FACTOR & 618 / MAX ( 1. , (1.-HDT*VDIN(IS))) ! semi-implict integration scheme 619 IF (VSIN(IS).GT.0.) THEN 620 WHITECAP(3) = WHITECAP(3) + SPEC(IS) * FACTOR 621 ELSE 622 ! computes the upward energy flux (counted > 0 upward) 623 CHARN = CHARN - (VSIN(IS))* DT * FACTOR & 624 / MAX ( 1. , (1.-HDT*VDIN(IS))) ! semi-implict integration scheme 625 END IF 626 HSTOT = HSTOT + SPEC(IS) * FACTOR 627 END DO Page 12 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 628 END DO 629 WHITECAP(3)=4.*SQRT(WHITECAP(3)) 630 HSTOT=4.*SQRT(HSTOT) 631 TAUWIX= TAUWIX+ TAUWX * DRAT *DT 632 TAUWIY= TAUWIY+ TAUWY * DRAT *DT 633 TAUWNX= TAUWNX+ TAUWAX * DRAT *DT 634 TAUWNY= TAUWNY+ TAUWAY * DRAT *DT 635 ! MISSING: TAIL TO BE ADDED ? 636 ! 637 ! 6. Add tail ------------------------------------------------------- * 638 ! a Mean parameters 639 ! 640 CALL W3SPR4 (SPEC, CG1, WN1, EMEAN, FMEAN, FMEAN1, WNMEAN,& 641 AMAX, U10ABS, U10DIR, USTAR, USTDIR, & 642 TAUWX, TAUWY, CD, Z0, CHARN, LLWS, FMEANWS) 643 ! 644 FH1 = FFXFM * FMEAN1 645 FH2 = FFXPM / USTAR 646 FHIGH = MIN ( SIG(NK) , MAX ( FH1 , FH2 ) ) 647 NKH = MAX ( 2 , MIN ( NKH1 , & 648 INT ( FACTI2 + FACTI1*LOG(MAX(1.E-7,FHIGH)) ) ) ) 649 ! 650 ! 6.b Limiter for shallow water or Miche style criterion 651 ! Last time step only ! 652 ! uses true depth (D_INP) instead of limited depth 653 ! 654 IF ( DTTOT .GE. 0.9999*DTG ) THEN 655 HM = FHMAX *TANH(WNMEAN*MAX(0.,D_INP)) / MAX(1.E-4,WNMEAN ) 656 EM = HM * HM / 16. 657 IF ( EMEAN.GT.EM .AND. EMEAN.GT.1.E-30 ) THEN 658 SPEC = SPEC / EMEAN * EM 659 EMEAN = EM 660 END IF 661 END IF 662 ! 663 ! 6.c Seeding of spectrum 664 ! alpha = 0.005 , 0.5 in eq., 0.25 for directional distribution 665 ! 666 ! 6.d Add tail 667 ! 668 DO IK=NKH+1, NK 669 DO ITH=1, NTH 670 SPEC(ITH+(IK-1)*NTH) = SPEC(ITH+(IK-2)*NTH) * FACHFA & 671 + 0. 672 END DO 673 END DO 674 ! 675 ! 6.e Update wave-supported stress----------------------------------- * 676 ! 677 CALL W3SIN4 ( SPEC, CG1, WN2, U10ABS, USTAR, DRAT, AS, & 678 U10DIR, Z0, CD, TAUWX, TAUWY, TAUWAX, TAUWAY, & 679 ICE, VSIN, VDIN, LLWS, IX, IY ) 680 681 ! 682 ! 7. Check if integration complete ---------------------------------- * 683 ! 684 IF ( DTTOT .GE. 0.9999*DTG ) EXIT Page 13 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 685 END DO 686 ! 687 ! ... End point dynamic integration - - - - - - - - - - - - - - - - - - 688 ! 689 ! 8. Save integration data ------------------------------------------ * 690 ! 691 DTDYN = DTDYN / REAL(MAX(1,NSTEPS)) 692 FCUT = FHIGH * TPIINV 693 ! 694 GOTO 888 695 ! 696 ! Error escape locations 697 ! 698 888 CONTINUE 699 ! 700 ! 9. Computes PHIOC------------------------------------------ * 701 ! The wave to ocean flux is the difference between initial energy 702 ! and final energy, plus wind input plus the SNL flux to high freq., 703 ! minus the energy lost to the bottom boundary layer (BBL) 704 ! 705 EFINISH = 0. 706 MWXFINISH = 0. 707 MWYFINISH = 0. 708 DO IK=1, NK 709 EBAND = 0. 710 A1BAND = 0. 711 B1BAND = 0. 712 DO ITH=1, NTH 713 EBAND = EBAND + SPEC(ITH+(IK-1)*NTH) 714 A1BAND = A1BAND + SPEC(ITH+(IK-1)*NTH)*ECOS(ITH) 715 B1BAND = B1BAND + SPEC(ITH+(IK-1)*NTH)*ESIN(ITH) 716 END DO 717 EFINISH = EFINISH + EBAND * DDEN(IK) / CG1(IK) 718 MWXFINISH = MWXFINISH + A1BAND * DDEN(IK) / CG1(IK) & 719 * WN1(IK)/SIG(IK) 720 MWYFINISH = MWYFINISH + B1BAND * DDEN(IK) / CG1(IK) & 721 * WN1(IK)/SIG(IK) 722 END DO 723 ! 724 ! Transformation in momentum flux in m^2 / s^2 725 ! 726 TAUOX=(GRAV*(MWXINIT-MWXFINISH)+TAUWIX-TAUBBL(1)/DRAT)/DTG 727 TAUOY=(GRAV*(MWYINIT-MWYFINISH)+TAUWIY-TAUBBL(2)/DRAT)/DTG 728 TAUWIX=TAUWIX/DTG 729 TAUWIY=TAUWIY/DTG 730 TAUWNX=TAUWNX/DTG 731 TAUWNY=TAUWNY/DTG 732 TAUBBL(:)=TAUBBL(:)/DTG 733 ! Transformation in wave energy flux in W/m^2=kg / s^3 734 PHIOC =DWAT*GRAV*(EINIT-EFINISH+PHIAW-PHIBBL)/DTG 735 PHIAW =DWAT*GRAV*PHIAW /DTG 736 PHINL =DWAT*GRAV*PHINL /DTG 737 PHIBBL=DWAT*GRAV*PHIBBL/DTG 738 739 ! 740 ! 10 includes reflection --------------------------------------------- * 741 ! Page 14 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 742 FIRST = .FALSE. 743 ! 744 RETURN 745 ! 746 ! Formats 747 ! 748 9006 FORMAT (' TEST W3SRCE : FHIGH (3X) : ',3F8.4/ & 749 ' ------------- NEW DYNAMIC INTEGRATION LOOP', & 750 ' ------------- ') 751 ! 752 9062 FORMAT (' TEST W3SRCE : FHIGH (3X) : ',3F8.4/ & 753 ' NKH : ',I3) 754 !/ 755 !/ End of W3SRCE ----------------------------------------------------- / 756 !/ 757 END SUBROUTINE W3SRCE ENTRY POINTS Name w3srcemd_mp_w3srce_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 888 Label 698 694 9006 Label 748 9062 Label 752 A1BAND Local 376 R(4) 4 scalar 469,473,477,710,714,718 ABS Func 564 scalar 564,586 AFAC Local 367 R(4) 4 scalar 564,565,566 AFILT Local 367 R(4) 4 scalar 540,563 ALPHA Dummy 51 R(4) 4 1 0 ARG,INOUT AMAX Local 369 R(4) 4 scalar 451,458,540,641 AS Dummy 52 R(4) 4 scalar ARG,IN 453,502,677 B1BAND Local 376 R(4) 4 scalar 470,474,479,711,715,720 BEDFORM Dummy 57 R(4) 4 1 3 ARG,INOUT BERG Dummy 54 R(4) 4 scalar ARG,IN CD Local 369 R(4) 4 scalar 452,454,459,503,642,678 CG1 Dummy 51 R(4) 4 1 0 ARG,IN 450,453,457,476,477,479,502,508,51 3,523,606,640,677,717,718,720 CHARN Dummy 56 R(4) 4 scalar ARG,INOUT 428,452,459,623,642 CONSTANTS Module 328 328 CX Dummy 53 R(4) 4 scalar ARG,IN CY Dummy 53 R(4) 4 scalar ARG,IN D50 Dummy 57 R(4) 4 scalar ARG,IN DAIR Param 403 R(4) 4 scalar 403 DAM Local 377 R(4) 4 1 0 410,417,540,563,586 DAMAX Local 367 R(4) 4 scalar 563,564 DDEN Local 331 R(4) 4 1 1 PTR 331,476,477,479,606,717,718,720 DELA Dummy 53 R(4) 4 scalar ARG,IN DELX Dummy 53 R(4) 4 scalar ARG,IN DELY Dummy 53 R(4) 4 scalar ARG,IN Page 15 Source Listing W3SRCE 2014-09-16 16:49 Symbol Table w3srcemd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References DEPTH Local 368 R(4) 4 scalar 396,508,514,516,523 DMIN Local 329 R(4) 4 scalar PTR 329,396 DOUT Local 387 R(4) 4 2 0 DRAT Local 375 R(4) 4 scalar 403,453,502,631,632,633,634,677,72 6,727 DT Local 367 R(4) 4 scalar 539,565,569,571,572,573,574,575,57 6,577,585,593,612,615,617,623,631, 632,633,634 DTDYN Dummy 54 R(4) 4 scalar ARG,OUT 424,571,691 DTG Dummy 54 R(4) 4 scalar ARG,IN 539,572,573,574,575,654,684,726,72 7,728,729,730,731,732,734,735,736, 737 DTMAX Local 329 R(4) 4 scalar PTR 329,539 DTMIN Local 330 R(4) 4 scalar PTR 330,574,575 DTTOT Local 367 R(4) 4 scalar 425,539,572,573,574,575,577,654,68 4 DWAT Param 403 R(4) 4 scalar 403,734,735,736,737 D_INP Dummy 51 R(4) 4 scalar ARG,IN 396,655 EB Local 385 R(4) 4 1 0 EBAND Local 373 R(4) 4 scalar 468,472,476,709,713,717 ECOS Local 332 R(4) 4 1 1 PTR 332,473,714 EFINISH Local 373 R(4) 4 scalar 705,717,734 EINIT Local 373 R(4) 4 scalar 463,476,734 EM Local 372 R(4) 4 scalar 656,657,658,659 EMEAN Local 369 R(4) 4 scalar 450,457,516,640,657,658,659 ESIN Local 332 R(4) 4 1 1 PTR 332,474,715 FACHFA Local 330 R(4) 4 scalar PTR 330,670 FACP Local 330 R(4) 4 scalar PTR 330,410 FACSD Local 330 R(4) 4 scalar PTR 330 FACTI1 Local 330 R(4) 4 scalar PTR 330,533,648 FACTI2 Local 330 R(4) 4 scalar PTR 330,533,648 FACTOR Local 375 R(4) 4 scalar 606,612,615,617,620,623,626 FCUT Dummy 54 R(4) 4 scalar ARG,OUT 692 FFXFM Local 338 R(4) 4 scalar PTR 338,486,644 FFXPM Local 338 R(4) 4 scalar PTR 338,486,645 FH1 Local 370 R(4) 4 scalar 644,646 FH2 Local 370 R(4) 4 scalar 645,646 FHIGH Local 367 R(4) 4 scalar 486,500,533,646,648,692 FHMAX Local 332 R(4) 4 scalar PTR 332,655 FIRST Local 390 L(4) 4 scalar 390,445,742 FLAGNN Local 388 L(4) 4 scalar 388 FLAGS Local 335 L(4) 4 1 1 PTR 335,547 FLTEST Local 388 L(4) 4 scalar 388 FMEAN Local 369 R(4) 4 scalar 450,457,516,640 FMEAN1 Local 374 R(4) 4 scalar 450,457,486,640,644 FMEANS Local 370 R(4) 4 scalar FMEANWS Local 374 R(4) 4 scalar 452,459,486,642 FOUT Local 387 R(4) 4 2 0 FP Local 368 R(4) 4 scalar FPI Dummy 54 R(4) 4 scalar ARG,INOUT FTE Local 332 R(4) 4 scalar PTR 332 FTF Local 332 R(4) 4 scalar PTR 332 FXFM Local 331 R(4) 4 scalar PTR 331 FXPM Local 331 R(4) 4 scalar PTR 331 GRAV Param 726 R(4) 4 scalar 726,727,734,735,736,737 Page 16 Source Listing W3SRCE 2014-09-16 16:49 Symbol Table w3srcemd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References HDT Local 368 R(4) 4 scalar 576,585,593,613,616,618,624 HM Local 372 R(4) 4 scalar 655,656 HSTOT Local 373 R(4) 4 scalar 604,626,630 ICE Dummy 52 R(4) 4 scalar ARG,IN 455,504,548,549,550,551,552,553,67 9 IDT Local 366 I(4) 4 scalar 572,573 IERR Local 366 I(4) 4 scalar IK Local 365 I(4) 4 scalar 409,410,411,414,415,467,472,473,47 4,476,477,478,479,480,605,606,611, 668,670,708,713,714,715,717,718,71 9,720,721 IMOD Dummy 51 I(4) 4 scalar ARG,IN INT Func 533 scalar 533,572,648 IS Local 365 I(4) 4 scalar 556,557,558,559,560,561,562,563,56 4,566,584,585,586,587,592,593,594, 611,612,613,615,616,617,618,619,62 0,623,624,626 IS0 Local 365 I(4) 4 scalar 415,417,418 ITH Local 365 I(4) 4 scalar 416,417,418,471,472,473,474,610,61 1,669,670,712,713,714,715 IX Dummy 51 I(4) 4 scalar ARG,IN 455,504,514,679 IY Dummy 51 I(4) 4 scalar ARG,IN 455,504,514,679 LLWS Local 386 L(4) 4 1 0 446,452,455,459,504,642,679 LOG Func 533 scalar 533,648 MAX Func 396 scalar 396,486,533,540,548,549,550,551,56 3,564,565,569,575,585,587,593,594, 613,616,618,624,646,647,648,655,69 1 MIN Func 533 scalar 533,534,539,548,549,550,551,563,56 5,566,575,586,646,647 MWXFINISH Local 376 R(4) 4 scalar 706,718,726 MWXINIT Local 374 R(4) 4 scalar 465,477,726 MWYFINISH Local 376 R(4) 4 scalar 707,720,727 MWYINIT Local 374 R(4) 4 scalar 466,479,727 NDSE Local 334 I(4) 4 scalar PTR 334 NDST Local 334 I(4) 4 scalar PTR 334 NK Local 329 I(4) 4 scalar PTR 329,349,354,385,387,409,414,467,53 3,534,605,646,668,708 NKH Local 365 I(4) 4 scalar 533,534,647,668 NKH1 Local 365 I(4) 4 scalar 534,535,647 NSPEC Local 329 I(4) 4 scalar PTR 329,354,377,378,379,380,381,382,38 3,384,385,386,540 NSPECH Local 366 I(4) 4 scalar 535,548,549,550,551,552,553,556,58 4,592 NSTEPS Local 365 I(4) 4 scalar 426,494,691 NTH Local 329 I(4) 4 scalar PTR 329,387,410,411,415,416,471,472,47 3,474,535,610,611,669,670,712,713, 714,715 OFFSET Param 566 R(4) 4 scalar PRIV 47,566,576 PHIAW Dummy 56 R(4) 4 scalar ARG,INOUT 427,612,734,735 PHIBBL Dummy 57 R(4) 4 scalar ARG,INOUT 430,615,734,737 PHINL Local 373 R(4) 4 scalar 429,617,736 PHIOC Dummy 56 R(4) 4 scalar ARG,INOUT 734 PSIC Dummy 57 R(4) 4 scalar ARG,IN QCERR Local 371 R(4) 4 scalar 371 Page 17 Source Listing W3SRCE 2014-09-16 16:49 Symbol Table w3srcemd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References REAL Func 573 scalar 573,691 REFLEC Dummy 53 R(4) 4 1 4 ARG,IN REFLED Dummy 53 I(4) 4 1 6 ARG,IN SHAVE Local 389 L(4) 4 scalar 574,582 SIG Local 329 R(4) 4 1 1 PTR 329,410,478,480,646,719,721 SIGN Func 586 scalar 586 SOUT Local 387 R(4) 4 2 0 SPEC Dummy 51 R(4) 4 1 0 ARG,INOUT 450,453,457,472,473,474,502,508,51 3,516,523,563,587,594,620,626,640, 658,670,677,713,714,715 SQRT Func 629 scalar 629,630 TANH Func 655 scalar 655 TAUBBL Dummy 58 R(4) 4 1 2 ARG,INOUT 439,726,727,732 TAUOX Dummy 55 R(4) 4 scalar ARG,INOUT 726 TAUOY Dummy 55 R(4) 4 scalar ARG,INOUT 727 TAUSCX Local 368 R(4) 4 scalar 437 TAUSCY Local 368 R(4) 4 scalar 438 TAUWAX Local 375 R(4) 4 scalar 435,454,503,633,678 TAUWAY Local 375 R(4) 4 scalar 436,454,503,634,678 TAUWIX Dummy 55 R(4) 4 scalar ARG,INOUT 431,631,726,728 TAUWIY Dummy 55 R(4) 4 scalar ARG,INOUT 432,632,727,729 TAUWNX Dummy 56 R(4) 4 scalar ARG,INOUT 433,633,730 TAUWNY Dummy 56 R(4) 4 scalar ARG,INOUT 434,634,731 TAUWX Dummy 55 R(4) 4 scalar ARG,INOUT 443,452,454,459,503,631,642,678 TAUWY Dummy 55 R(4) 4 scalar ARG,INOUT 444,452,454,459,503,632,642,678 TH Local 329 R(4) 4 1 1 PTR 329 TIME Local 333 I(4) 4 1 1 PTR 333 TPIINV Param 692 R(4) 4 scalar 692 TRNX Dummy 54 R(4) 4 scalar ARG,IN TRNY Dummy 54 R(4) 4 scalar ARG,IN U10ABS Dummy 52 R(4) 4 scalar ARG,IN 451,453,458,502,641,677 U10DIR Dummy 52 R(4) 4 scalar ARG,IN 451,454,458,500,503,641,678 USTAR Dummy 52 R(4) 4 scalar ARG,INOUT 447,451,453,458,486,500,502,514,64 1,645,677 USTDIR Dummy 52 R(4) 4 scalar ARG,INOUT 448,451,458,514,641 VD Local 385 R(4) 4 1 0 560,562,566,585,593 VDBT Local 382 R(4) 4 1 0 399,523,561,616 VDDB Local 384 R(4) 4 1 0 517,562 VDDS Local 381 R(4) 4 1 0 514,551,561 VDIC Local 383 R(4) 4 1 0 401,553,561 VDIN Local 379 R(4) 4 1 0 455,504,549,560,613,618,624,679 VDNL Local 380 R(4) 4 1 0 508,560 VS Local 385 R(4) 4 1 0 557,559,564,585,586,587,593,594 VSBT Local 382 R(4) 4 1 0 398,523,558,615 VSDB Local 384 R(4) 4 1 0 517,559 VSDS Local 381 R(4) 4 1 0 514,550,558 VSIC Local 383 R(4) 4 1 0 400,552,558 VSIN Local 379 R(4) 4 1 0 455,504,548,557,612,619,623,679 VSLN Local 378 R(4) 4 1 0 500,557 VSNL Local 380 R(4) 4 1 0 508,557,617 W3GDATMD Module 329 329,338 W3IDATMD Module 335 335 W3ODATMD Module 334 334 W3SBT1 Subr 523 523 W3SBT1MD Module 340 340 Page 18 Source Listing W3SRCE 2014-09-16 16:49 Symbol Table w3srcemd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References W3SDB1 Subr 516 516 W3SDB1MD Module 341 341 W3SDS4 Subr 513 513 W3SIN4 Subr 453 453,502,677 W3SLN1 Subr 500 500 W3SLN1MD Module 336 336 W3SNL1 Subr 508 508 W3SNL1MD Module 339 339 W3SPR4 Subr 450 450,457,640 W3SRC4MD Module 337 337 W3SRCE Subr 51 W3WDATMD Module 333 333 WHITECAP Dummy 57 R(4) 4 1 4 ARG,INOUT 514,603,620,629 WN1 Dummy 51 R(4) 4 1 0 ARG,IN 410,411,450,457,478,480,500,513,52 3,640,719,721 WN2 Local 377 R(4) 4 1 0 411,418,453,502,516,677 WNMEAN Local 369 R(4) 4 scalar 450,457,508,516,640,655 XFC Local 331 R(4) 4 scalar PTR 331 XFLT Local 331 R(4) 4 scalar PTR 331,540 XFT Local 331 R(4) 4 scalar PTR 331 XREL Local 331 R(4) 4 scalar PTR 331,563 Z0 Local 369 R(4) 4 scalar 452,454,459,503,642,678 ZWND Local 368 R(4) 4 scalar ZZWND Local 338 R(4) 4 scalar PTR 338 Page 19 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 758 !/ 759 !/ End of module W3SRCEMD -------------------------------------------- / 760 !/ 761 END MODULE W3SRCEMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References W3SRCEMD Module 2 Page 20 Source Listing W3SRCE 2014-09-16 16:49 Subprograms/Common Blocks w3srcemd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References W3SRCE Subr 51 W3SRCEMD Module 2 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume cc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores -auto no -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D _OPENMP=201107 -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __SSE__ -D __MMX__ -D __AVX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals Page 21 Source Listing W3SRCE 2014-09-16 16:49 w3srcemd.f90 no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -free -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -openmp -O2 no -pad_source -real_size 32 no -recursive -reentrancy threaded no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /usrx/local/intel/composerxe/tbb/include/,/usr/include/,./,/usrx/local/intel/impi/4.0.3.008/intel64/include/, /usrx/local/intel/impi/4.0.3.008/intel64/include/,/usrx/local/intel/composerxe/mkl/include/,/usrx/local/intel/composerxe/tbb/include/, /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/,/gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/, /usr/local/include/,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/,/usr/include/,/usr/include/ -list filename : w3srcemd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100