Page 1 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE W3CSPCMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 01-Nov-2012 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ 19-Sep-2005 : Origination. ( version 3.08 ) 12 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 13 !/ 01-Nov-2012 : Minor code clean-up (tabs & coments)( version 4.08 ) 14 !/ 15 !/ Copyright 2009 National Weather Service (NWS), 16 !/ National Oceanic and Atmospheric Administration. All rights 17 !/ reserved. WAVEWATCH III is a trademark of the NWS. 18 !/ No unauthorized use without permission. 19 !/ 20 ! 1. Purpose : 21 ! 22 ! Convert spectra to new discrete spectral grid. 23 ! 24 ! 2. Variables and types : 25 ! 26 ! Name Type Scope Description 27 ! ---------------------------------------------------------------- 28 ! NCASES Int. Private Number of cases for which interpol. 29 ! data is stored. 30 ! IDATA CASE Private Interpolation data. 31 ! ---------------------------------------------------------------- 32 ! 33 ! Elements of the data structure CASE are given below. The middle 34 ! block pf parameters has pointer aliasses with the same name in 35 ! the subroutine. 36 ! 37 ! Name Type Description 38 ! ---------------------------------------------------------------- 39 ! ICASE Int. Number of case. 40 ! NFR1, NTH1, NFR2, NTH2, XF1, FR1, TH1, XF2, FR2, TH2 41 ! Same as in parameter list of routine. 42 ! 43 ! DTH1 Real Directional increment. 44 ! DTH2 Real Directional increment. 45 ! IDTH I.A. Index information for redistribution of 46 ! energy in direction space. 47 ! RDTH R.A. Factors corresponding to IDTH. 48 ! FRQ1 R.A. Frequencies. 49 ! FRQ2 R.A. Frequencies. 50 ! XDF1 Real Factor for increments. 51 ! XDF2 Real Factor for increments. 52 ! NFR2T Int. Frequency to start the tail. 53 ! IDFR I.A. Idem for frequencies. 54 ! RDFR R.A. Factors corresponding to IDFR. 55 ! 56 ! NEXT CASE Pointer to next data set stored. 57 ! ---------------------------------------------------------------- Page 2 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 58 ! 59 ! 3. Subroutines and functions : 60 ! 61 ! Name Type Scope Description 62 ! ---------------------------------------------------------------- 63 ! W3CSPC Subr. Public Perform conversion for vector of 64 ! spectra. 65 ! ---------------------------------------------------------------- 66 ! 67 ! 4. Subroutines and functions used : 68 ! 69 ! See subroutine W3CSPC. 70 ! 71 ! 5. Remarks : 72 ! 73 ! - Conversion data are sored in an endless linked chain, which 74 ! is tested at the beginning of the routine. 75 ! 76 ! 6. Switches : 77 ! 78 ! See subroutine. 79 ! 80 ! 7. Source code : 81 ! 82 !/ ------------------------------------------------------------------- / 83 PUBLIC 84 !/ 85 TYPE CASE 86 INTEGER :: ICASE, NFR1, NTH1, NFR2, NTH2, NFR2T 87 REAL :: XF1, FR1, TH1, XF2, FR2, TH2, & 88 DTH1, DTH2, XDF1, XDF2 89 INTEGER, POINTER :: IDTH(:,:), IDFR(:,:) 90 REAL, POINTER :: RDTH(:,:), FRQ1(:), FRQ2(:), RDFR(:,:) 91 TYPE(CASE), POINTER :: NEXT 92 END TYPE CASE 93 !/ 94 INTEGER, PRIVATE :: NCASES = 0 95 TYPE(CASE), PRIVATE, POINTER :: IDATA 96 !/ 97 CONTAINS 98 !/ ------------------------------------------------------------------- / 99 SUBROUTINE W3CSPC ( SP1, NFR1, NTH1, XF1, FR1, TH1, & 100 SP2, NFR2, NTH2, XF2, FR2, TH2, & 101 NSP, NDST, NDSE, FTL ) 102 !/ 103 !/ +-----------------------------------+ 104 !/ | WAVEWATCH III NOAA/NCEP | 105 !/ | H. L. Tolman | 106 !/ | FORTRAN 90 | 107 !/ | Last update : 19-Sep-2005 ! 108 !/ +-----------------------------------+ 109 !/ 110 !/ 19-Sep-2005 : Origination. ( version 3.08 ) 111 !/ 01-Nov-2012 : code clean up (tab spaces, comments)( version 4.08 ) 112 !/ 113 ! 1. Purpose : 114 ! Page 3 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 115 ! Convert a set of spectra to a new spectral grid. 116 ! 117 ! 2. Method : 118 ! 119 ! Conservative distribution of input energies over new grid. 120 ! 121 ! 3. Parameters : 122 ! 123 ! Parameter list 124 ! ---------------------------------------------------------------- 125 ! SP1 R.A. I Input spectra. 126 ! NFR1 Int. I Input number of frequencies. 127 ! NTH1 Int. I Input number of directions. 128 ! XFR Real I Input frequency increment factor. 129 ! FR1 Real I First input frequency. 130 ! TH1 Real I First input direction. 131 ! SP2 R.A. O Output spectra. 132 ! NFR2, NTH2, XF2, FR2, TH2 133 ! ! Specral description for output spectra. 134 ! NSP Int. I Number of spectra. 135 ! NDST int. I Unit number for test output. 136 ! NDSE int. I Unit number for error output. 137 ! FTAIL Real I Factor for tail description = XF2**N 138 ! ---------------------------------------------------------------- 139 ! 140 ! 4. Subroutines used : 141 ! 142 ! Name Type Module Description 143 ! ---------------------------------------------------------------- 144 ! STRACE Sur. W3SERVMD Subroutine tracing. 145 ! EXTCDE Sur. Id program abort. 146 ! ---------------------------------------------------------------- 147 ! 148 ! 5. Called by : 149 ! 150 ! Name Type Module Description 151 ! ---------------------------------------------------------------- 152 ! W3IOBC Subr. W3IOBCMD Updating boundary conditions. 153 ! Subr Multi scale model bound. data input. 154 ! ---------------------------------------------------------------- 155 ! 156 ! 6. Error messages : 157 ! 158 ! - Check on input parameters. 159 ! 160 ! 7. Remarks : 161 ! 162 ! - The inner loop of the actual redistribution is over the 163 ! individual spectra, optimizing this routine for large numbers 164 ! of conversions in a single call. 165 ! 166 ! 8. Structure : 167 ! 168 ! See source code. 169 ! 170 ! 9. Switches : 171 ! Page 4 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 172 ! !/S Enable subroutine tracing. 173 ! 174 ! !/T Enable test output. 175 ! !/T1 Test output for searching in stored data. 176 ! !/T2 Test output for redistribution data. 177 ! 178 ! 10. Source code : 179 ! 180 !/ ------------------------------------------------------------------- / 181 USE CONSTANTS 182 ! 183 USE W3SERVMD, ONLY: EXTCDE 184 ! 185 IMPLICIT NONE 186 !/ 187 !/ ------------------------------------------------------------------- / 188 !/ Parameter list 189 !/ 190 INTEGER, INTENT(IN) :: NSP, NFR1, NTH1, NFR2, NTH2, NDST, NDSE 191 REAL, INTENT(IN) :: SP1(NTH1,NFR1,NSP), XF1, FR1, TH1, & 192 XF2, FR2, TH2, FTL 193 REAL, INTENT(OUT) :: SP2(NTH2,NFR2,NSP) 194 !/ 195 !/ ------------------------------------------------------------------- / 196 !/ Local parameters 197 !/ 198 INTEGER :: I, NRMAX, J, I1, L1, J1, I2, L2, J2, & 199 ISP 200 REAL :: LOW, HGH, RLOW, RHGH, BLOW, BHGH, & 201 FRAC, AUX1, AUX2, R1, R2, FACT 202 LOGICAL :: FOUND 203 TYPE(CASE), POINTER :: CURRENT 204 !/ 205 !/ ------------------------------------------------------------------- / 206 !/ Pointers for alieases 207 !/ 208 INTEGER, POINTER :: IDTH(:,:), IDFR(:,:), NFR2T 209 REAL, POINTER :: DTH1, DTH2, RDTH(:,:), FRQ1(:), & 210 FRQ2(:), XDF1, XDF2, RDFR(:,:) 211 !/ 212 ! 213 ! -------------------------------------------------------------------- / 214 ! 0. Initializations 215 ! 0.a Check input 216 ! 217 IF ( NFR1.LT.3 .OR. NTH1.LT.4 .OR. XF1.LE.1. .OR. FR1.LE.0. .OR.& 218 NFR2.LT.3 .OR. NTH2.LT.4 .OR. XF2.LE.1. .OR. FR2.LE.0. ) THEN 219 WRITE (NDSE,900) NFR1, NTH1, XF1, FR1, NFR2, NTH2, XF2, FR2 220 CALL EXTCDE ( 1 ) 221 END IF 222 ! 223 IF ( NSP .LT. 0 ) THEN 224 WRITE (NDSE,901) 225 CALL EXTCDE ( 2 ) 226 END IF 227 ! 228 IF ( NSP .EQ. 0 ) THEN Page 5 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 229 WRITE (NDSE,902) 230 RETURN 231 END IF 232 ! 233 ! 0.b Test output 234 ! 235 ! -------------------------------------------------------------------- / 236 ! 1. Search stored interpolation data for match 237 ! 238 FOUND = .FALSE. 239 ! 240 DO I=1, NCASES 241 ! 242 IF ( I .EQ. 1 ) THEN 243 CURRENT => IDATA 244 ELSE 245 CURRENT => CURRENT%NEXT 246 END IF 247 ! 248 FOUND = CURRENT%NFR1.EQ.NFR1 .AND. CURRENT%NFR2.EQ.NFR2 .AND. & 249 CURRENT%NTH1.EQ.NTH1 .AND. CURRENT%NTH2.EQ.NTH2 .AND. & 250 CURRENT%XF1 .EQ.XF1 .AND. CURRENT%XF2 .EQ.XF2 .AND. & 251 CURRENT%FR1 .EQ.FR1 .AND. CURRENT%FR2 .EQ.FR2 .AND. & 252 CURRENT%TH1 .EQ.TH1 .AND. CURRENT%TH2 .EQ.TH2 253 IF ( FOUND ) EXIT 254 ! 255 END DO 256 ! 257 ! -------------------------------------------------------------------- / 258 ! 2. Link or compute interpolation data 259 ! 2.a Link 260 ! 261 IF ( FOUND ) THEN 262 ! 263 DTH1 => CURRENT%DTH1 264 DTH2 => CURRENT%DTH2 265 IDTH => CURRENT%IDTH 266 RDTH => CURRENT%RDTH 267 ! 268 FRQ1 => CURRENT%FRQ1 269 FRQ2 => CURRENT%FRQ2 270 XDF1 => CURRENT%XDF1 271 XDF2 => CURRENT%XDF2 272 NFR2T => CURRENT%NFR2T 273 IDFR => CURRENT%IDFR 274 RDFR => CURRENT%RDFR 275 ! 276 ! 2.b Compute 277 ! 278 ELSE 279 ! 280 NCASES = NCASES + 1 281 ! 282 ! 2.b.1 Point and allocate as necessary 283 ! 284 IF ( NCASES .EQ. 1 ) THEN 285 ALLOCATE ( IDATA ) Page 6 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 286 CURRENT => IDATA 287 ELSE 288 ALLOCATE ( CURRENT%NEXT ) 289 CURRENT => CURRENT%NEXT 290 END IF 291 ! 292 ! 2.b.2 Store test data 293 ! 294 CURRENT%ICASE = NCASES 295 CURRENT%NFR1 = NFR1 296 CURRENT%NTH1 = NTH1 297 CURRENT%XF1 = XF1 298 CURRENT%FR1 = FR1 299 CURRENT%TH1 = TH1 300 CURRENT%NFR2 = NFR2 301 CURRENT%NTH2 = NTH2 302 CURRENT%XF2 = XF2 303 CURRENT%FR2 = FR2 304 CURRENT%TH2 = TH2 305 ! 306 ! 2.b.3 Directional redistribution data 307 ! 308 DTH1 => CURRENT%DTH1 309 DTH1 = TPI / REAL(NTH1) 310 DTH2 => CURRENT%DTH2 311 DTH2 = TPI / REAL(NTH2) 312 ! 313 IF ( DTH1 .LE. DTH2 ) THEN 314 NRMAX = 2 315 ELSE 316 NRMAX = 2 + INT(DTH1/DTH2) 317 END IF 318 ! 319 ALLOCATE (CURRENT%IDTH(0:NRMAX,NTH1),CURRENT%RDTH(NRMAX,NTH1)) 320 IDTH => CURRENT%IDTH 321 RDTH => CURRENT%RDTH 322 IDTH = 0 323 RDTH = 0. 324 ! 325 DO I=1, NTH1 326 LOW = TH1 + REAL(I-1)*DTH1 - 0.5*DTH1 327 HGH = LOW + DTH1 328 RLOW = 1. + (LOW-TH2)/DTH2 329 RHGH = 1. + (HGH-TH2)/DTH2 330 DO J=NINT(RLOW), NINT(RLOW)+NRMAX-1 331 BLOW = TH2 + REAL(J-1)*DTH2 - 0.5*DTH2 332 BHGH = BLOW + DTH2 333 FRAC = (MIN(BHGH,HGH)-MAX(BLOW,LOW)) / (HGH-LOW) 334 IF ( FRAC .GT. 1.E-5 ) THEN 335 IDTH(0,I) = IDTH(0,I) + 1 336 IDTH(IDTH(0,I),I) = 1 + MOD(J-1+NTH2,NTH2) 337 RDTH(IDTH(0,I),I) = FRAC 338 END IF 339 END DO 340 END DO 341 ! 342 ! 2.b.4 Frequency redistribution data Page 7 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 343 ! 344 ALLOCATE ( CURRENT%FRQ1(NFR1), CURRENT%FRQ2(NFR2) ) 345 FRQ1 => CURRENT%FRQ1 346 FRQ2 => CURRENT%FRQ2 347 ! 348 FRQ1(1) = FR1 349 DO I=2, NFR1 350 FRQ1(I) = XF1 * FRQ1(I-1) 351 END DO 352 ! 353 FRQ2(1) = FR2 354 DO I=2, NFR2 355 FRQ2(I) = XF2 * FRQ2(I-1) 356 END DO 357 ! 358 XDF1 => CURRENT%XDF1 359 XDF1 = 0.5 * ( XF1 - 1./XF1 ) 360 XDF2 => CURRENT%XDF2 361 XDF2 = 0.5 * ( XF2 - 1./XF2 ) 362 ! 363 IF ( XDF1 .LE. XDF2 ) THEN 364 NRMAX = 2 365 ELSE 366 NRMAX = 1 367 AUX1 = XDF1 368 AUX2 = XDF2 369 DO 370 NRMAX = NRMAX + 1 371 AUX1 = AUX1 - AUX2 372 AUX2 = AUX2 / XF2 373 IF ( AUX1 .LT. 0. ) EXIT 374 END DO 375 END IF 376 ! 377 ALLOCATE (CURRENT%IDFR(0:NRMAX,NFR1),CURRENT%RDFR(NRMAX,NFR1)) 378 IDFR => CURRENT%IDFR 379 RDFR => CURRENT%RDFR 380 IDFR = 0 381 RDFR = 0. 382 ! 383 DO I=1, NFR1 384 IF ( I .EQ. 1 ) THEN 385 HGH = 0.5 * ( FRQ1(I) + FRQ1(I+1) ) 386 LOW = HGH - XDF1*FRQ1(I) 387 ELSE 388 LOW = 0.5 * ( FRQ1(I) + FRQ1(I-1) ) 389 HGH = LOW + XDF1*FRQ1(I) 390 END IF 391 DO J=1, NFR2 392 IF ( J .EQ. 1 ) THEN 393 BHGH = 0.5 * ( FRQ2(J) + FRQ2(J+1) ) 394 BLOW = BHGH - XDF2*FRQ2(J) 395 ELSE 396 BLOW = 0.5 * ( FRQ2(J) + FRQ2(J-1) ) 397 BHGH = BLOW + XDF2*FRQ2(J) 398 END IF 399 IF ( BHGH .LE. LOW ) CYCLE Page 8 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 400 IF ( BLOW .GE. HGH ) EXIT 401 FRAC = (MIN(BHGH,HGH)-MAX(BLOW,LOW)) / (HGH-LOW) 402 IF ( FRAC .LT. 1.E-5 ) CYCLE 403 IDFR(0,I) = IDFR(0,I) + 1 404 IDFR(IDFR(0,I),I) = J 405 RDFR(IDFR(0,I),I) = FRAC 406 END DO 407 END DO 408 ! 409 NFR2T => CURRENT%NFR2T 410 NFR2T = NFR2 + 1 411 DO J=NFR2, 1, -1 412 IF ( J .EQ. 1 ) THEN 413 BHGH = 0.5 * ( FRQ2(J) + FRQ2(J+1) ) 414 ELSE 415 BLOW = 0.5 * ( FRQ2(J) + FRQ2(J-1) ) 416 BHGH = BLOW + XDF2*FRQ2(J) 417 END IF 418 IF ( BHGH .GT. HGH ) THEN 419 NFR2T = J 420 ELSE 421 EXIT 422 END IF 423 END DO 424 ! 425 END IF 426 ! 427 ! 2.c Test output 428 ! 429 ! -------------------------------------------------------------------- / 430 ! 3. Convert 431 ! 3.a Discrete energies 432 ! 433 SP2 = 0. 434 ! 435 DO I2=1, NFR1 436 DO L2=1, IDFR(0,I2) 437 J2 = IDFR(L2,I2) 438 R2 = RDFR(L2,I2) 439 DO I1=1,NTH1 440 DO L1=1, IDTH( 0,I1) 441 J1 = IDTH(L1,I1) 442 R1 = RDTH(L1,I1) 443 FRAC = R2 * FRQ1(I2) * XDF1 * R1 * DTH1 444 SP2(J1,J2,:) = SP2(J1,J2,:) + FRAC * SP1(I1,I2,:) 445 END DO 446 END DO 447 END DO 448 END DO 449 ! 450 ! 3.b Energy densities 451 ! 452 DO J2=1, NFR2 453 DO J1=1, NTH2 454 FACT = 1. / ( FRQ2(J2) * XDF2 * DTH2 ) 455 SP2(J1,J2,:) = FACT * SP2(J1,J2,:) 456 END DO Page 9 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 457 END DO 458 ! 459 ! 3.c Add the tail 460 ! 461 DO J2=NFR2T, NFR2 462 SP2(:,J2,:) = FTL * SP2(:,J2-1,:) 463 END DO 464 ! 465 RETURN 466 ! 467 ! Formats 468 ! 469 900 FORMAT (/' *** ERROR W3CSPC: ILLEGAL INPUT PARAMETERS ***'/ & 470 ' INPUT : ',2I8,2F10.4/ & 471 ' OUTPUT : ',2I8,2F10.4) 472 901 FORMAT (/' *** ERROR W3CSPC: NEGATIVE NUMBER OF SPECTRA ***'/) 473 902 FORMAT (/' *** WARNING W3CSPC: NO SPECTRA ***'/) 474 ! 475 !/ 476 !/ End of W3CSPC ----------------------------------------------------- / 477 !/ 478 END SUBROUTINE W3CSPC ENTRY POINTS Name w3cspcmd_mp_w3cspc_ Page 10 Source Listing W3CSPC 2014-09-16 16:49 Symbol Table w3cspcmd.f90 SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 900 Label 469 219 901 Label 472 224 902 Label 473 229 AUX1 Local 201 R(4) 4 scalar 367,371,373 AUX2 Local 201 R(4) 4 scalar 368,371,372 BHGH Local 200 R(4) 4 scalar 332,333,393,394,397,399,401,413,41 6,418 BLOW Local 200 R(4) 4 scalar 331,332,333,394,396,397,400,401,41 5,416 CASE Type 203 600 scalar 91,92,95,203 CONSTANTS Module 181 181 CURRENT Local 203 CASE 600 scalar PTR 243,245,248,249,250,251,252,263,26 4,265,266,268,269,270,271,272,273, 274,286,288,289,294,295,296,297,29 8,299,300,301,302,303,304,308,310, 319,320,321,344,345,346,358,360,37 7,378,379,409 DTH1 Local 209 R(4) 4 scalar PTR 263,308,309,313,316,326,327,443 DTH1 Local 263 R(4) 4 scalar TGT 263,308 DTH2 Local 209 R(4) 4 scalar PTR 264,310,311,313,316,328,329,331,33 2,454 DTH2 Local 264 R(4) 4 scalar TGT 264,310 EXTCDE Subr 183 183,220,225 FACT Local 201 R(4) 4 scalar 454,455 FOUND Local 202 L(4) 4 scalar 238,248,253,261 FR1 Dummy 99 R(4) 4 scalar ARG,IN 217,219,251,298,348 FR1 Local 251 R(4) 4 scalar 251,298 FR2 Dummy 100 R(4) 4 scalar ARG,IN 218,219,251,303,353 FR2 Local 251 R(4) 4 scalar 251,303 FRAC Local 201 R(4) 4 scalar 333,334,337,401,402,405,443,444 FRQ1 Local 209 R(4) 4 1 1 PTR 268,345,348,350,385,386,388,389,44 3 FRQ1 Local 268 R(4) 4 1 1 PTR 268,344,345 FRQ2 Local 210 R(4) 4 1 1 PTR 269,346,353,355,393,394,396,397,41 3,415,416,454 FRQ2 Local 269 R(4) 4 1 1 PTR 269,344,346 FTL Dummy 101 R(4) 4 scalar ARG,IN 462 HGH Local 200 R(4) 4 scalar 327,329,333,385,386,389,400,401,41 8 I Local 198 I(4) 4 scalar 240,242,325,326,335,336,337,349,35 0,354,355,383,384,385,386,388,389, 403,404,405 I1 Local 198 I(4) 4 scalar 439,440,441,442,444 I2 Local 198 I(4) 4 scalar 435,436,437,438,443,444 ICASE Local 294 I(4) 4 scalar 294 IDATA Local 243 CASE 600 scalar PTR,TGT,PRIV 95,243,285,286 IDFR Local 208 I(4) 4 2 1 PTR 273,378,380,403,404,405,436,437 IDFR Local 273 I(4) 4 2 1 PTR 273,377,378 IDTH Local 208 I(4) 4 2 1 PTR 265,320,322,335,336,337,440,441 IDTH Local 265 I(4) 4 2 1 PTR 265,319,320 INT Func 316 scalar 316 Page 11 Source Listing W3CSPC 2014-09-16 16:49 Symbol Table w3cspcmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References ISP Local 199 I(4) 4 scalar J Local 198 I(4) 4 scalar 330,331,336,391,392,393,394,396,39 7,404,411,412,413,415,416,419 J1 Local 198 I(4) 4 scalar 441,444,453,455 J2 Local 198 I(4) 4 scalar 437,444,452,454,455,461,462 L1 Local 198 I(4) 4 scalar 440,441,442 L2 Local 198 I(4) 4 scalar 436,437,438 LOW Local 200 R(4) 4 scalar 326,327,328,333,386,388,389,399,40 1 MAX Func 333 scalar 333,401 MIN Func 333 scalar 333,401 MOD Func 336 scalar 336 NCASES Local 240 I(4) 4 scalar PRIV 94,240,280,284,294 NDSE Dummy 101 I(4) 4 scalar ARG,IN 219,224,229 NDST Dummy 101 I(4) 4 scalar ARG,IN NEXT Local 245 CASE 600 scalar PTR,TGT 245,288,289 NFR1 Dummy 99 I(4) 4 scalar ARG,IN 191,217,219,248,295,344,349,377,38 3,435 NFR1 Local 248 I(4) 4 scalar 248,295 NFR2 Dummy 100 I(4) 4 scalar ARG,IN 193,218,219,248,300,344,354,391,41 0,411,452,461 NFR2 Local 248 I(4) 4 scalar 248,300 NFR2T Local 208 I(4) 4 scalar PTR 272,409,410,419,461 NFR2T Local 272 I(4) 4 scalar TGT 272,409 NINT Func 330 scalar 330 NRMAX Local 198 I(4) 4 scalar 314,316,319,330,364,366,370,377 NSP Dummy 101 I(4) 4 scalar ARG,IN 191,193,223,228 NTH1 Dummy 99 I(4) 4 scalar ARG,IN 191,217,219,249,296,309,319,325,43 9 NTH1 Local 249 I(4) 4 scalar 249,296 NTH2 Dummy 100 I(4) 4 scalar ARG,IN 193,218,219,249,301,311,336,453 NTH2 Local 249 I(4) 4 scalar 249,301 R1 Local 201 R(4) 4 scalar 442,443 R2 Local 201 R(4) 4 scalar 438,443 RDFR Local 210 R(4) 4 2 1 PTR 274,379,381,405,438 RDFR Local 274 R(4) 4 2 1 PTR 274,377,379 RDTH Local 209 R(4) 4 2 1 PTR 266,321,323,337,442 RDTH Local 266 R(4) 4 2 1 PTR 266,319,321 REAL Func 309 scalar 309,311,326,331 RHGH Local 200 R(4) 4 scalar 329 RLOW Local 200 R(4) 4 scalar 328,330 SP1 Dummy 99 R(4) 4 3 0 ARG,IN 444 SP2 Dummy 100 R(4) 4 3 0 ARG,OUT 433,444,455,462 TH1 Dummy 99 R(4) 4 scalar ARG,IN 252,299,326 TH1 Local 252 R(4) 4 scalar 252,299 TH2 Dummy 100 R(4) 4 scalar ARG,IN 252,304,328,329,331 TH2 Local 252 R(4) 4 scalar 252,304 TPI Param 309 R(4) 4 scalar 309,311 W3CSPC Subr 99 W3SERVMD Module 183 183 XDF1 Local 210 R(4) 4 scalar PTR 270,358,359,363,367,386,389,443 XDF1 Local 270 R(4) 4 scalar TGT 270,358 XDF2 Local 210 R(4) 4 scalar PTR 271,360,361,363,368,394,397,416,45 4 XDF2 Local 271 R(4) 4 scalar TGT 271,360 Page 12 Source Listing W3CSPC 2014-09-16 16:49 Symbol Table w3cspcmd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References XF1 Dummy 99 R(4) 4 scalar ARG,IN 217,219,250,297,350,359 XF1 Local 250 R(4) 4 scalar 250,297 XF2 Dummy 100 R(4) 4 scalar ARG,IN 218,219,250,302,355,361,372 XF2 Local 250 R(4) 4 scalar 250,302 Page 13 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.f90 479 !/ 480 !/ End of module W3CSPCMD -------------------------------------------- / 481 !/ 482 END MODULE W3CSPCMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References W3CSPCMD Module 2 Page 14 Source Listing W3CSPC 2014-09-16 16:49 Subprograms/Common Blocks w3cspcmd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References W3CSPC Subr 99 W3CSPCMD 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 15 Source Listing W3CSPC 2014-09-16 16:49 w3cspcmd.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 : w3cspcmd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100