Changeset 493 for palm/trunk
- Timestamp:
- Mar 1, 2010 8:30:24 AM (15 years ago)
- Location:
- palm/trunk
- Files:
-
- 1 deleted
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/DOC/app/appendix_a.html
r411 r493 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 2 <html><head> 3 4 5 6 7 8 9 3 10 4 11 … … 34 41 35 42 36 <table style="text-align: left; width: 75%;" border="1" cellpadding="2" cellspacing="2">43 <table style="text-align: left; width: 100%;" border="1" cellpadding="2" cellspacing="2"> 37 44 38 45 <tbody> 39 46 <tr> 40 47 41 <td style="vertical-align: top; width: 25%;"><font size="4"><b>Message identifier</b></font></td> 42 43 <td style="vertical-align: top;"><font size="4"><b>Error message</b></font></td> 48 <td style="width: 15%; vertical-align: top;"><font size="4"><b>Message identifier</b></font></td> 49 50 <td style="width: 50%; vertical-align: top;"><font size="4"><b>Error message</b></font></td><td style="vertical-align: top;"><br> 51 </td> 52 44 53 45 54 </tr> … … 49 58 <td style="vertical-align: top;"><a name="PA0001"></a>PA0001</td> 50 59 51 <td> 52 <p>"host" is not set. Please check that environment 53 variable "localhost" is set before running PALM</p> 54 </td> 60 <td style="vertical-align: top;"> 61 "host" is not set. Please check that environment 62 variable "localhost" is set before running PALM<br> 63 </td> 64 <td style="vertical-align: top;"><br> 65 </td> 66 55 67 56 68 </tr> … … 60 72 <td style="vertical-align: top;"><a name="PA0002"></a>PA0002</td> 61 73 62 <td> 63 <p>illegal coupling mode: ...</p> 64 </td> 74 <td style="vertical-align: top;"> 75 illegal coupling mode: ... 76 </td><td style="vertical-align: top;"><br> 77 </td> 78 65 79 66 80 </tr> … … 70 84 <td style="vertical-align: top;"><a name="PA0003"></a>PA0003</td> 71 85 72 <td> 73 <p>dt_coupling is not set but required for coupling mode "..."</p> 74 </td> 86 <td style="vertical-align: top;"> 87 dt_coupling is not set but required for coupling mode "..." 88 </td><td style="vertical-align: top;"><br> 89 </td> 90 75 91 76 92 </tr> … … 80 96 <td style="vertical-align: top;"><a name="PA0004"></a>PA0004</td> 81 97 82 <td> 83 <p>coupling mode "...": dt_coupling = ... is not equal 84 to dt_coupling_remote = ... </p> 85 </td> 98 <td style="vertical-align: top;"> 99 coupling mode "...": dt_coupling = ... is not equal 100 to dt_coupling_remote = ... 101 </td><td style="vertical-align: top;"><br> 102 </td> 103 86 104 87 105 </tr> … … 91 109 <td style="vertical-align: top;"><a name="PA0005"></a>PA0005</td> 92 110 93 <td> 94 <p>coupling mode "...": dt_coupling <= 0.0 is not allowed 95 and is reset to MAX(dt_max(A,O)) = ...</p> 96 </td> 111 <td style="vertical-align: top;"> 112 coupling mode "...": dt_coupling <= 0.0 is not allowed 113 and is reset to MAX(dt_max(A,O)) = ... 114 </td><td style="vertical-align: top;"><br> 115 </td> 116 97 117 98 118 </tr> … … 102 122 <td style="vertical-align: top;"><a name="PA0006"></a>PA0006</td> 103 123 104 <td> 105 <p>coupling mode "...": restart_time = ... is not equal 106 to restart_time_remote = ...</p> 107 </td> 124 <td style="vertical-align: top;"> 125 coupling mode "...": restart_time = ... is not equal 126 to restart_time_remote = ... 127 </td><td style="vertical-align: top;"><br> 128 </td> 129 108 130 109 131 </tr> … … 113 135 <td style="vertical-align: top;"><a name="PA0007"></a>PA0007</td> 114 136 115 <td> 116 <p>coupling mode "...": dt_restart = ... is not equal 117 to dt_restart_remote = ...</p> 118 </td> 137 <td style="vertical-align: top;"> 138 coupling mode "...": dt_restart = ... is not equal 139 to dt_restart_remote = ... 140 </td><td style="vertical-align: top;"><br> 141 </td> 142 119 143 120 144 </tr> … … 124 148 <td style="vertical-align: top;"><a name="PA0008"></a>PA0008</td> 125 149 126 <td >127 <p>coupling mode "...": simulation_time_since_reference =150 <td style="vertical-align: top;"> 151 coupling mode "...": simulation_time_since_reference = 128 152 ... is not equal to 129 simulation_time_since_reference_remote = ...</p> 130 </td> 153 simulation_time_since_reference_remote = ... 154 </td><td style="vertical-align: top;"><br> 155 </td> 156 131 157 132 158 </tr> … … 136 162 <td style="vertical-align: top;"><a name="PA0009"></a>PA0009</td> 137 163 138 <td> 139 <p>coupling mode "...": dx = ... is not equal to 140 dx_remote = ...</p> 141 </td> 164 <td style="vertical-align: top;"> 165 coupling mode "...": dx = ... is not equal to 166 dx_remote = ... 167 </td><td style="vertical-align: top;"><br> 168 </td> 169 142 170 143 171 </tr> … … 147 175 <td style="vertical-align: top;"><a name="PA0010"></a>PA0010</td> 148 176 149 <td> 150 <p>coupling mode "...": dy = ... is not equal to 151 dy_remote = ...</p> 152 </td> 177 <td style="vertical-align: top;"> 178 coupling mode "...": dy = ... is not equal to 179 dy_remote = ... 180 </td><td style="vertical-align: top;"><br> 181 </td> 182 153 183 154 184 </tr> … … 158 188 <td style="vertical-align: top;"><a name="PA0011"></a>PA0011</td> 159 189 160 <td> 161 <p>coupling mode "...": nx = ... is not equal to 162 nx_remote = ...</p> 163 </td> 190 <td style="vertical-align: top;"> 191 coupling mode "...": nx = ... is not equal to 192 nx_remote = ... 193 </td><td style="vertical-align: top;"><br> 194 </td> 195 164 196 165 197 </tr> … … 169 201 <td style="vertical-align: top;"><a name="PA0012"></a>PA0012</td> 170 202 171 <td> 172 <p>coupling mode "...": ny = ... is not equal to 173 ny_remote = ...</p> 174 </td> 203 <td style="vertical-align: top;"> 204 coupling mode "...": ny = ... is not equal to 205 ny_remote = ... 206 </td><td style="vertical-align: top;"><br> 207 </td> 208 175 209 176 210 </tr> … … 180 214 <td style="vertical-align: top;"><a name="PA0013"></a>PA0013</td> 181 215 182 <td> 183 <p>illegal value given for loop_optimization: "..."</p> 184 </td> 216 <td style="vertical-align: top;"> 217 illegal value given for loop_optimization: "..." 218 </td><td style="vertical-align: top;"><br> 219 </td> 220 185 221 186 222 </tr> … … 190 226 <td style="vertical-align: top;"><a name="PA0014"></a>PA0014</td> 191 227 192 <td> 193 <p>a non-flat topography does not allow ...</p> 194 </td> 228 <td style="vertical-align: top;"> 229 a non-flat topography does not allow ... 230 </td><td style="vertical-align: top;"><br> 231 </td> 232 195 233 196 234 </tr> … … 200 238 <td style="vertical-align: top;"><a name="PA0015"></a>PA0015</td> 201 239 202 <td> 203 <p>ocean = .T. does not allow ...</p> 204 </td> 240 <td style="vertical-align: top;"> 241 ocean = .T. does not allow ... 242 </td><td style="vertical-align: top;"><br> 243 </td> 244 205 245 206 246 </tr> … … 210 250 <td style="vertical-align: top;"><a name="PA0016"></a>PA0016</td> 211 251 212 <td> 213 <p>unknown solver for perturbation pressure: 214 psolver = "..."</p> 215 </td> 252 <td style="vertical-align: top;"> 253 unknown solver for perturbation pressure: 254 psolver = "..." 255 </td><td style="vertical-align: top;"><br> 256 </td> 257 216 258 217 259 </tr> … … 221 263 <td style="vertical-align: top;"><a name="PA0017"></a>PA0017</td> 222 264 223 <td >224 <p>psolver = "..." only works for a265 <td style="vertical-align: top;"> 266 psolver = "..." only works for a 225 267 1d domain-decomposition along x 226 please do not set npey/=1 in the parameter file</p> 227 </td> 268 please do not set npey/=1 in the parameter file 269 </td><td style="vertical-align: top;"><br> 270 </td> 271 228 272 229 273 </tr> … … 233 277 <td style="vertical-align: top;"><a name="PA0018"></a>PA0018</td> 234 278 235 <td >236 <p>psolver = ".." does not work for subdomains with279 <td style="vertical-align: top;"> 280 psolver = ".." does not work for subdomains with 237 281 unequal size please set grid_matching = ''strict'' 238 in the parameter file</p> 239 </td> 282 in the parameter file<br> 283 284 </td><td style="vertical-align: top;"><br> 285 </td> 286 240 287 241 288 </tr> … … 245 292 <td style="vertical-align: top;"><a name="PA0019"></a>PA0019</td> 246 293 247 <td> 248 <p>psolver = "..." only works for a parallel environment</p> 249 </td> 294 <td style="vertical-align: top;"> 295 psolver = "..." only works for a parallel environment 296 </td><td style="vertical-align: top;"><br> 297 </td> 298 250 299 251 300 </tr> … … 255 304 <td style="vertical-align: top;"><a name="PA0020"></a>PA0020</td> 256 305 257 <td> 258 <p>unknown multigrid cycle: cycle_mg = "..."</p> 259 </td> 306 <td style="vertical-align: top;"> 307 unknown multigrid cycle: cycle_mg = "..." 308 </td><td style="vertical-align: top;"><br> 309 </td> 310 260 311 261 312 </tr> … … 265 316 <td style="vertical-align: top;"><a name="PA0021"></a>PA0021</td> 266 317 267 <td> 268 <p>unknown fft-algorithm: fft_method = "..."</p> 269 </td> 318 <td style="vertical-align: top;"> 319 unknown fft-algorithm: fft_method = "..." 320 </td><td style="vertical-align: top;"><br> 321 </td> 322 270 323 271 324 </tr> … … 275 328 <td style="vertical-align: top;"><a name="PA0022"></a>PA0022</td> 276 329 277 <td> 278 <p>unknown advection scheme: momentum_advec = "..."</p> 279 </td> 330 <td style="vertical-align: top;"> 331 unknown advection scheme: momentum_advec = "..." 332 </td><td style="vertical-align: top;"><br> 333 </td> 334 280 335 281 336 </tr> … … 285 340 <td style="vertical-align: top;"><a name="PA0023"></a>PA0023</td> 286 341 287 <td> 288 <p>momentum_advec = "..." is not allowed with 289 timestep_scheme = "..."</p> 290 </td> 342 <td style="vertical-align: top;"> 343 momentum_advec = "..." is not allowed with 344 timestep_scheme = "..." 345 </td><td style="vertical-align: top;"><br> 346 </td> 347 291 348 292 349 </tr> … … 296 353 <td style="vertical-align: top;"><a name="PA0024"></a>PA0024</td> 297 354 298 <td> 299 <p>unknown advection scheme: scalar_advec = "..."</p> 300 </td> 355 <td style="vertical-align: top;"> 356 unknown advection scheme: scalar_advec = "..." 357 </td><td style="vertical-align: top;"><br> 358 </td> 359 301 360 302 361 </tr> … … 306 365 <td style="vertical-align: top;"><a name="PA0025"></a>PA0025</td> 307 366 308 <td> 309 <p>use_upstream_for_tke set .TRUE. because 310 use_sgs_for_particles = .TRUE.</p> 311 </td> 367 <td style="vertical-align: top;"> 368 use_upstream_for_tke set .TRUE. because 369 use_sgs_for_particles = .TRUE. 370 </td><td style="vertical-align: top;"><br> 371 </td> 372 312 373 313 374 </tr> … … 317 378 <td style="vertical-align: top;"><a name="PA0026"></a>PA0026</td> 318 379 319 <td> 320 <p>use_upstream_for_tke = .TRUE. not allowed with 321 timestep_scheme = "..."</p> 322 </td> 380 <td style="vertical-align: top;"> 381 use_upstream_for_tke = .TRUE. not allowed with 382 timestep_scheme = "..." 383 </td><td style="vertical-align: top;"><br> 384 </td> 385 323 386 324 387 </tr> … … 328 391 <td style="vertical-align: top;"><a name="PA0027"></a>PA0027</td> 329 392 330 <td> 331 <p>unknown timestep scheme: timestep_scheme = "..."</p> 332 </td> 393 <td style="vertical-align: top;"> 394 unknown timestep scheme: timestep_scheme = "..." 395 </td><td style="vertical-align: top;"><br> 396 </td> 397 333 398 334 399 </tr> … … 338 403 <td style="vertical-align: top;"><a name="PA0028"></a>PA0028</td> 339 404 340 <td> 341 <p>scalar advection scheme "..." does not work with 342 timestep_scheme ".."</p> 343 </td> 405 <td style="vertical-align: top;"> 406 scalar advection scheme "..." does not work with 407 timestep_scheme ".." 408 </td><td style="vertical-align: top;"><br> 409 </td> 410 344 411 345 412 </tr> … … 349 416 <td style="vertical-align: top;"><a name="PA0029"></a>PA0029</td> 350 417 351 <td> 352 <p>momentum advection scheme "..." does not work with 353 timestep_scheme "..."</p> 354 </td> 418 <td style="vertical-align: top;"> 419 momentum advection scheme "..." does not work with 420 timestep_scheme "..." 421 </td><td style="vertical-align: top;"><br> 422 </td> 423 355 424 356 425 </tr> … … 360 429 <td style="vertical-align: top;"><a name="PA0030"></a>PA0030</td> 361 430 362 <td> 363 <p>initializing_action = "..." unkown or not allowed</p> 364 </td> 431 <td style="vertical-align: top;"> 432 initializing_action = "..." unkown or not allowed 433 </td><td style="vertical-align: top;"><br> 434 </td> 435 365 436 366 437 </tr> … … 370 441 <td style="vertical-align: top;"><a name="PA0031"></a>PA0031</td> 371 442 372 <td> 373 <p>initializing_actions = "set_constant_profiles" and 374 "set_1d-model_profiles" are not allowed simultaneously</p> 375 </td> 443 <td style="vertical-align: top;"> 444 initializing_actions = "set_constant_profiles" and 445 "set_1d-model_profiles" are not allowed simultaneously 446 </td><td style="vertical-align: top;"><br> 447 </td> 448 376 449 377 450 </tr> … … 381 454 <td style="vertical-align: top;"><a name="PA0032"></a>PA0032</td> 382 455 383 <td> 384 <p>initializing_actions = "set_constant_profiles" and 385 "by_user" are not allowed simultaneously</p> 386 </td> 456 <td style="vertical-align: top;"> 457 initializing_actions = "set_constant_profiles" and 458 "by_user" are not allowed simultaneously 459 </td><td style="vertical-align: top;"><br> 460 </td> 461 387 462 388 463 </tr> … … 392 467 <td style="vertical-align: top;"><a name="PA0033"></a>PA0033</td> 393 468 394 <td> 395 <p>initializing_actions = "by_user" and 396 "set_1d-model_profiles" are not allowed simultaneously</p> 397 </td> 469 <td style="vertical-align: top;"> 470 initializing_actions = "by_user" and 471 "set_1d-model_profiles" are not allowed simultaneously 472 </td><td style="vertical-align: top;"><br> 473 </td> 474 398 475 399 476 </tr> … … 403 480 <td style="vertical-align: top;"><a name="PA0034"></a>PA0034</td> 404 481 405 <td> 406 <p>cloud_physics = ... is not allowed with humidity = ...</p> 407 </td> 482 <td style="vertical-align: top;"> 483 cloud_physics = ... is not allowed with humidity = ... 484 </td><td style="vertical-align: top;"><br> 485 </td> 486 408 487 409 488 </tr> … … 413 492 <td style="vertical-align: top;"><a name="PA0035"></a>PA0035</td> 414 493 415 <td> 416 <p>precipitation = ... is not allowed with 417 cloud_physics = ...</p> 418 </td> 494 <td style="vertical-align: top;"> 495 precipitation = ... is not allowed with 496 cloud_physics = ... 497 </td><td style="vertical-align: top;"><br> 498 </td> 499 419 500 420 501 </tr> … … 424 505 <td style="vertical-align: top;"><a name="PA0036"></a>PA0036</td> 425 506 426 <td> 427 <p>humidity = .TRUE. and sloping_surface = .TRUE. are not 428 allowed simultaneously</p> 429 </td> 507 <td style="vertical-align: top;"> 508 humidity = .TRUE. and sloping_surface = .TRUE. are not 509 allowed simultaneously 510 </td><td style="vertical-align: top;"><br> 511 </td> 512 430 513 431 514 </tr> … … 435 518 <td style="vertical-align: top;"><a name="PA0037"></a>PA0037</td> 436 519 437 <td> 438 <p>UPS-scheme is not implemented for humidity = .TRUE.</p> 439 </td> 520 <td style="vertical-align: top;"> 521 UPS-scheme is not implemented for humidity = .TRUE. 522 </td><td style="vertical-align: top;"><br> 523 </td> 524 440 525 441 526 </tr> … … 445 530 <td style="vertical-align: top;"><a name="PA0038"></a>PA0038</td> 446 531 447 <td> 448 <p>humidity = .TRUE. and passive_scalar = .TRUE. is not 449 allowed simultaneously'</p> 450 </td> 532 <td style="vertical-align: top;"> 533 humidity = .TRUE. and passive_scalar = .TRUE. is not 534 allowed simultaneously' 535 </td><td style="vertical-align: top;"><br> 536 </td> 537 451 538 452 539 </tr> … … 456 543 <td style="vertical-align: top;"><a name="PA0039"></a>PA0039</td> 457 544 458 <td> 459 <p>UPS-scheme is not implemented for passive_scalar = .TRUE.</p> 460 </td> 545 <td style="vertical-align: top;"> 546 UPS-scheme is not implemented for passive_scalar = .TRUE. 547 </td><td style="vertical-align: top;"><br> 548 </td> 549 461 550 462 551 </tr> … … 466 555 <td style="vertical-align: top;"><a name="PA0040"></a>PA0040</td> 467 556 468 <td> 469 <p>illegal value "..." found for parameter grid_matching</p> 470 </td> 557 <td style="vertical-align: top;"> 558 illegal value "..." found for parameter grid_matching 559 </td><td style="vertical-align: top;"><br> 560 </td> 561 471 562 472 563 </tr> … … 476 567 <td style="vertical-align: top;"><a name="PA0041"></a>PA0041</td> 477 568 478 <td> 479 <p>plant_canopy = .TRUE. requires a non-zero 480 drag coefficient given value is drag_coefficient = 0.0</p> 481 </td> 569 <td style="vertical-align: top;"> 570 plant_canopy = .TRUE. requires a non-zero 571 drag coefficient given value is drag_coefficient = 0.0 572 </td><td style="vertical-align: top;"><br> 573 </td> 574 482 575 483 576 </tr> … … 487 580 <td style="vertical-align: top;"><a name="PA0042"></a>PA0042</td> 488 581 489 <td> 490 <p>use_top_fluxes must be .TRUE. in ocean version</p> 491 </td> 582 <td style="vertical-align: top;"> 583 use_top_fluxes must be .TRUE. in ocean version 584 </td><td style="vertical-align: top;"><br> 585 </td> 586 492 587 493 588 </tr> … … 497 592 <td style="vertical-align: top;"><a name="PA0043"></a>PA0043</td> 498 593 499 <td> 500 <p>ABS( alpha_surface = ... ) must be< 90.0</p> 501 </td> 594 <td style="vertical-align: top;"> 595 ABS( alpha_surface = ... ) must be< 90.0 596 </td><td style="vertical-align: top;"><br> 597 </td> 598 502 599 503 600 </tr> … … 507 604 <td style="vertical-align: top;"><a name="PA0044"></a>PA0044</td> 508 605 509 <td> 510 <p>dt = ... <= 0.0</p> 511 </td> 606 <td style="vertical-align: top;"> 607 dt = ... <= 0.0 608 </td><td style="vertical-align: top;"><br> 609 </td> 610 512 611 513 612 </tr> … … 517 616 <td style="vertical-align: top;"><a name="PA0045"></a>PA0045</td> 518 617 519 <td> 520 <p>cfl_factor = ... out of range 521 0.0 < cfl_factor <= 1.0 is required</p> 522 </td> 618 <td style="vertical-align: top;"> 619 cfl_factor = ... out of range 620 0.0 < cfl_factor <= 1.0 is required 621 </td><td style="vertical-align: top;"><br> 622 </td> 623 523 624 524 625 </tr> … … 528 629 <td style="vertical-align: top;"><a name="PA0046"></a>PA0046</td> 529 630 530 <td> 531 <p>baroclinicity (ug) not allowed simultaneously with 532 galilei transformation</p> 533 </td> 631 <td style="vertical-align: top;"> 632 baroclinicity (ug) not allowed simultaneously with 633 galilei transformation 634 </td><td style="vertical-align: top;"><br> 635 </td> 636 534 637 535 638 </tr> … … 539 642 <td style="vertical-align: top;"><a name="PA0047"></a>PA0047</td> 540 643 541 <td> 542 <p>baroclinicity (vg) not allowed simultaneously with 543 galilei transformation</p> 544 </td> 644 <td style="vertical-align: top;"> 645 baroclinicity (vg) not allowed simultaneously with 646 galilei transformation 647 </td><td style="vertical-align: top;"><br> 648 </td> 649 545 650 546 651 </tr> … … 550 655 <td style="vertical-align: top;"><a name="PA0048"></a>PA0048</td> 551 656 552 <td >553 <p>variable translation speed used for657 <td style="vertical-align: top;"> 658 variable translation speed used for 554 659 galilei-transformation, which may cause instabilities 555 in stably stratified regions </p>556 </td> 557 558 </tr> 559 <tr> 560 561 </tr> 562 563 660 in stably stratified regions 661 </td><td style="vertical-align: top;"><br> 662 </td> 663 664 665 </tr> 666 667 668 <tr> 564 669 <td style="vertical-align: top;"><a name="PA0049"></a>PA0049</td> 565 670 566 <td> 567 <p>unknown boundary condition: bc_lr = "..."</p> 568 </td> 671 <td style="vertical-align: top;"> 672 unknown boundary condition: bc_lr = "..." 673 </td><td style="vertical-align: top;"><br> 674 </td> 675 569 676 570 677 </tr> … … 574 681 <td style="vertical-align: top;"><a name="PA0050"></a>PA0050</td> 575 682 576 <td> 577 <p>unknown boundary condition: bc_ns = "..."</p> 578 </td> 683 <td style="vertical-align: top;"> 684 unknown boundary condition: bc_ns = "..." 685 </td><td style="vertical-align: top;"><br> 686 </td> 687 579 688 580 689 </tr> … … 584 693 <td style="vertical-align: top;"><a name="PA0051"></a>PA0051</td> 585 694 586 <td> 587 <p>non-cyclic lateral boundaries do not 588 allow psolver = "..."</p> 589 </td> 695 <td style="vertical-align: top;"> 696 non-cyclic lateral boundaries do not 697 allow psolver = "..." 698 </td><td style="vertical-align: top;"><br> 699 </td> 700 590 701 591 702 </tr> … … 595 706 <td style="vertical-align: top;"><a name="PA0052"></a>PA0052</td> 596 707 597 <td> 598 <p>non-cyclic lateral boundaries do not allow 599 momentum_advec = "..."</p> 600 </td> 708 <td style="vertical-align: top;"> 709 non-cyclic lateral boundaries do not allow 710 momentum_advec = "..." 711 </td><td style="vertical-align: top;"><br> 712 </td> 713 601 714 602 715 </tr> … … 606 719 <td style="vertical-align: top;"><a name="PA0053"></a>PA0053</td> 607 720 608 <td> 609 <p>non-cyclic lateral boundaries do not allow 610 scalar_advec = "..."</p> 611 </td> 721 <td style="vertical-align: top;"> 722 non-cyclic lateral boundaries do not allow 723 scalar_advec = "..." 724 </td><td style="vertical-align: top;"><br> 725 </td> 726 612 727 613 728 </tr> … … 617 732 <td style="vertical-align: top;"><a name="PA0054"></a>PA0054</td> 618 733 619 <td> 620 <p>non-cyclic lateral boundaries do not allow 621 galilei_transformation = .T. </p> 622 </td> 734 <td style="vertical-align: top;"> 735 non-cyclic lateral boundaries do not allow 736 galilei_transformation = .T. 737 </td><td style="vertical-align: top;"><br> 738 </td> 739 623 740 624 741 </tr> … … 628 745 <td style="vertical-align: top;"><a name="PA0055"></a>PA0055</td> 629 746 630 <td> 631 <p>adjust_mixing_length = TRUE and bc_e_b = "neumann"</p> 632 </td> 747 <td style="vertical-align: top;"> 748 adjust_mixing_length = TRUE and bc_e_b = "neumann" 749 </td><td style="vertical-align: top;"><br> 750 </td> 751 633 752 634 753 </tr> … … 638 757 <td style="vertical-align: top;"><a name="PA0056"></a>PA0056</td> 639 758 640 <td> 641 <p>adjust_mixing_length = FALSE and bc_e_b = "..."</p> 642 </td> 759 <td style="vertical-align: top;"> 760 adjust_mixing_length = FALSE and bc_e_b = "..." 761 </td><td style="vertical-align: top;"><br> 762 </td> 763 643 764 644 765 </tr> … … 648 769 <td style="vertical-align: top;"><a name="PA0057"></a>PA0057</td> 649 770 650 <td> 651 <p>boundary condition bc_e_b changed to "..."</p> 652 </td> 771 <td style="vertical-align: top;"> 772 boundary condition bc_e_b changed to "..." 773 </td><td style="vertical-align: top;"><br> 774 </td> 775 653 776 654 777 </tr> … … 658 781 <td style="vertical-align: top;"><a name="PA0058"></a>PA0058</td> 659 782 660 <td> 661 <p>unknown boundary condition: bc_e_b = "..."</p> 662 </td> 783 <td style="vertical-align: top;"> 784 unknown boundary condition: bc_e_b = "..." 785 </td><td style="vertical-align: top;"><br> 786 </td> 787 663 788 664 789 </tr> … … 668 793 <td style="vertical-align: top;"><a name="PA0059"></a>PA0059</td> 669 794 670 <td> 671 <p>unknown boundary condition: bc_p_b = "..."</p> 672 </td> 795 <td style="vertical-align: top;"> 796 unknown boundary condition: bc_p_b = "..." 797 </td><td style="vertical-align: top;"><br> 798 </td> 799 673 800 674 801 </tr> … … 678 805 <td style="vertical-align: top;"><a name="PA0060"></a>PA0060</td> 679 806 680 <td> 681 <p>boundary condition: bc_p_b = "..." not allowed with 682 prandtl_layer = .FALSE.'</p> 683 </td> 807 <td style="vertical-align: top;"> 808 boundary condition: bc_p_b = "..." not allowed with 809 prandtl_layer = .FALSE.' 810 </td><td style="vertical-align: top;"><br> 811 </td> 812 684 813 685 814 </tr> … … 689 818 <td style="vertical-align: top;"><a name="PA0061"></a>PA0061</td> 690 819 691 <td> 692 <p>unknown boundary condition: bc_p_t = "..."</p> 693 </td> 820 <td style="vertical-align: top;"> 821 unknown boundary condition: bc_p_t = "..." 822 </td><td style="vertical-align: top;"><br> 823 </td> 824 694 825 695 826 </tr> … … 699 830 <td style="vertical-align: top;"><a name="PA0062"></a>PA0062</td> 700 831 701 <td> 702 <p>unknown boundary condition: bc_pt_b = "..."</p> 703 </td> 832 <td style="vertical-align: top;"> 833 unknown boundary condition: bc_pt_b = "..." 834 </td><td style="vertical-align: top;"><br> 835 </td> 836 704 837 705 838 </tr> … … 709 842 <td style="vertical-align: top;"><a name="PA0063"></a>PA0063</td> 710 843 711 <td> 712 <p>unknown boundary condition: bc_pt_t = "..."</p> 713 </td> 844 <td style="vertical-align: top;"> 845 unknown boundary condition: bc_pt_t = "..." 846 </td><td style="vertical-align: top;"><br> 847 </td> 848 714 849 715 850 </tr> … … 719 854 <td style="vertical-align: top;"><a name="PA0064"></a>PA0064</td> 720 855 721 <td> 722 <p>both, top_momentumflux_u AND top_momentumflux_v 723 must be set</p> 724 </td> 856 <td style="vertical-align: top;"> 857 both, top_momentumflux_u AND top_momentumflux_v 858 must be set 859 </td><td style="vertical-align: top;"><br> 860 </td> 861 725 862 726 863 </tr> … … 730 867 <td style="vertical-align: top;"><a name="PA0065"></a>PA0065</td> 731 868 732 <td> 733 <p>boundary_condition: bc_pt_b = "..." is not allowed 734 with constant_heatflux = .TRUE.</p> 735 </td> 869 <td style="vertical-align: top;"> 870 boundary_condition: bc_pt_b = "..." is not allowed 871 with constant_heatflux = .TRUE. 872 </td><td style="vertical-align: top;"><br> 873 </td> 874 736 875 737 876 </tr> … … 741 880 <td style="vertical-align: top;"><a name="PA0066"></a>PA0066</td> 742 881 743 <td> 744 <p>constant_heatflux = .TRUE. is not allowed with 745 pt_surface_initial_change (/=0) = ...</p> 746 </td> 882 <td style="vertical-align: top;"> 883 constant_heatflux = .TRUE. is not allowed with 884 pt_surface_initial_change (/=0) = ... 885 </td><td style="vertical-align: top;"><br> 886 </td> 887 747 888 748 889 </tr> … … 752 893 <td style="vertical-align: top;"><a name="PA0067"></a>PA0067</td> 753 894 754 <td> 755 <p>boundary_condition: bc_pt_t = "..." is not allowed 756 with constant_top_heatflux = .TRUE.</p> 757 </td> 895 <td style="vertical-align: top;"> 896 boundary_condition: bc_pt_t = "..." is not allowed 897 with constant_top_heatflux = .TRUE. 898 </td><td style="vertical-align: top;"><br> 899 </td> 900 758 901 759 902 </tr> … … 763 906 <td style="vertical-align: top;"><a name="PA0068"></a>PA0068</td> 764 907 765 <td> 766 <p>unknown boundary condition: bc_sa_t = "..."</p> 767 </td> 908 <td style="vertical-align: top;"> 909 unknown boundary condition: bc_sa_t = "..." 910 </td><td style="vertical-align: top;"><br> 911 </td> 912 768 913 769 914 </tr> … … 773 918 <td style="vertical-align: top;"><a name="PA0069"></a>PA0069</td> 774 919 775 <td >boundary condition: bc_sa_t = "..." requires to set920 <td style="vertical-align: top;">boundary condition: bc_sa_t = "..." requires to set 776 921 top_salinityflux 777 <p></p>778 </td>779 780 </tr>781 782 922 923 </td><td style="vertical-align: top;"><br> 924 </td> 925 926 927 </tr> 928 929 783 930 <tr> 784 931 785 932 <td style="vertical-align: top;"><a name="PA0070"></a>PA0070</td> 786 933 787 <td> 788 <p>boundary condition: bc_sa_t = "..." is not allowed 789 with constant_top_salinityflux = .TRUE.'</p> 790 </td> 934 <td style="vertical-align: top;"> 935 boundary condition: bc_sa_t = "..." is not allowed 936 with constant_top_salinityflux = .TRUE.' 937 </td><td style="vertical-align: top;"><br> 938 </td> 939 791 940 792 941 </tr> … … 796 945 <td style="vertical-align: top;"><a name="PA0071"></a>PA0071</td> 797 946 798 <td> 799 <p>unknown boundary condition: bc_..._b ="..."</p> 800 </td> 947 <td style="vertical-align: top;"> 948 unknown boundary condition: bc_..._b ="..." 949 </td><td style="vertical-align: top;"><br> 950 </td> 951 801 952 802 953 </tr> … … 806 957 <td style="vertical-align: top;"><a name="PA0072"></a>PA0072</td> 807 958 808 <td> 809 <p>unknown boundary condition: bc_..._t ="..."</p> 810 </td> 959 <td style="vertical-align: top;"> 960 unknown boundary condition: bc_..._t ="..." 961 </td><td style="vertical-align: top;"><br> 962 </td> 963 811 964 812 965 </tr> … … 816 969 <td style="vertical-align: top;"><a name="PA0073"></a>PA0073</td> 817 970 818 <td> 819 <p>boundary condition: bc_..._b = "..." is not allowed 820 with prescribed surface flux</p> 821 </td> 971 <td style="vertical-align: top;"> 972 boundary condition: bc_..._b = "..." is not allowed 973 with prescribed surface flux 974 </td><td style="vertical-align: top;"><br> 975 </td> 976 822 977 823 978 </tr> … … 827 982 <td style="vertical-align: top;"><a name="PA0074"></a>PA0074</td> 828 983 829 <td> 830 <p>a prescribed surface flux is not allowed 831 with ..._surface_initial_change (/=0) = ...</p> 832 </td> 984 <td style="vertical-align: top;"> 985 a prescribed surface flux is not allowed 986 with ..._surface_initial_change (/=0) = ... 987 </td><td style="vertical-align: top;"><br> 988 </td> 989 833 990 834 991 </tr> … … 838 995 <td style="vertical-align: top;"><a name="PA0075"></a>PA0075</td> 839 996 840 <td> 841 <p>boundary condition: bc_uv_b = "..." is not allowed 842 with prandtl_layer = .TRUE.</p> 843 </td> 997 <td style="vertical-align: top;"> 998 boundary condition: bc_uv_b = "..." is not allowed 999 with prandtl_layer = .TRUE. 1000 </td><td style="vertical-align: top;"><br> 1001 </td> 1002 844 1003 845 1004 </tr> … … 849 1008 <td style="vertical-align: top;"><a name="PA0076"></a>PA0076</td> 850 1009 851 <td> 852 <p>unknown boundary condition: bc_uv_b = "..."</p> 853 </td> 1010 <td style="vertical-align: top;"> 1011 unknown boundary condition: bc_uv_b = "..." 1012 </td><td style="vertical-align: top;"><br> 1013 </td> 1014 854 1015 855 1016 </tr> … … 859 1020 <td style="vertical-align: top;"><a name="PA0077"></a>PA0077</td> 860 1021 861 <td> 862 <p>unknown boundary condition: bc_uv_t = "..."</p> 863 </td> 1022 <td style="vertical-align: top;"> 1023 unknown boundary condition: bc_uv_t = "..." 1024 </td><td style="vertical-align: top;"><br> 1025 </td> 1026 864 1027 865 1028 </tr> … … 869 1032 <td style="vertical-align: top;"><a name="PA0078"></a>PA0078</td> 870 1033 871 <td> 872 <p>rayleigh_damping_factor = ... out of range [0.0,1.0]</p> 873 </td> 1034 <td style="vertical-align: top;"> 1035 rayleigh_damping_factor = ... out of range [0.0,1.0] 1036 </td><td style="vertical-align: top;"><br> 1037 </td> 1038 874 1039 875 1040 </tr> … … 879 1044 <td style="vertical-align: top;"><a name="PA0079"></a>PA0079</td> 880 1045 881 <td> 882 <p>rayleigh_damping_height = ... out of range [0.0, ...]</p> 883 </td> 1046 <td style="vertical-align: top;"> 1047 rayleigh_damping_height = ... out of range [0.0, ...] 1048 </td><td style="vertical-align: top;"><br> 1049 </td> 1050 884 1051 885 1052 </tr> … … 889 1056 <td style="vertical-align: top;"><a name="PA0080"></a>PA0080</td> 890 1057 891 <td> 892 <p>overshoot_limit_... < 0.0 is not allowed</p> 893 </td> 1058 <td style="vertical-align: top;"> 1059 overshoot_limit_... < 0.0 is not allowed 1060 </td><td style="vertical-align: top;"><br> 1061 </td> 1062 894 1063 895 1064 </tr> … … 899 1068 <td style="vertical-align: top;"><a name="PA0081"></a>PA0081</td> 900 1069 901 <td>ups_limit_... < 0.0 is not allowed 902 <p></p> 903 </td> 1070 <td style="vertical-align: top;">ups_limit_... < 0.0 is not allowed 1071 1072 </td><td style="vertical-align: top;"><br> 1073 </td> 1074 904 1075 905 1076 </tr> … … 909 1080 <td style="vertical-align: top;"><a name="PA0082"></a>PA0082</td> 910 1081 911 <td> 912 <p>number of statistic_regions = ... but only 913 10 regions are allowed</p> 914 </td> 1082 <td style="vertical-align: top;"> 1083 number of statistic_regions = ... but only 1084 10 regions are allowed 1085 </td><td style="vertical-align: top;"><br> 1086 </td> 1087 915 1088 916 1089 </tr> … … 920 1093 <td style="vertical-align: top;"><a name="PA0083"></a>PA0083</td> 921 1094 922 <td> 923 <p>normalizing_region = ... must be >= 0 and <= ... (value 924 of statistic_regions)</p> 925 </td> 1095 <td style="vertical-align: top;"> 1096 normalizing_region = ... must be >= 0 and <= ... (value 1097 of statistic_regions) 1098 </td><td style="vertical-align: top;"><br> 1099 </td> 1100 926 1101 927 1102 </tr> … … 931 1106 <td style="vertical-align: top;"><a name="PA0084"></a>PA0084</td> 932 1107 933 <td> 934 <p>dt_sort_particles is reset to 0.0 because of 935 cloud_droplets = .TRUE.</p> 936 </td> 1108 <td style="vertical-align: top;"> 1109 dt_sort_particles is reset to 0.0 because of 1110 cloud_droplets = .TRUE. 1111 </td><td style="vertical-align: top;"><br> 1112 </td> 1113 937 1114 938 1115 </tr> … … 942 1119 <td style="vertical-align: top;"><a name="PA0085"></a>PA0085</td> 943 1120 944 <td> 945 <p>averaging_interval = ... must be <= dt_data_output = ...</p> 946 </td> 1121 <td style="vertical-align: top;"> 1122 averaging_interval = ... must be <= dt_data_output = ... 1123 </td><td style="vertical-align: top;"><br> 1124 </td> 1125 947 1126 948 1127 </tr> … … 952 1131 <td style="vertical-align: top;"><a name="PA0086"></a>PA0086</td> 953 1132 954 <td> 955 <p>averaging_interval_pr = ... must be <= dt_dopr = ...</p> 956 </td> 1133 <td style="vertical-align: top;"> 1134 averaging_interval_pr = ... must be <= dt_dopr = ... 1135 </td><td style="vertical-align: top;"><br> 1136 </td> 1137 957 1138 958 1139 </tr> … … 962 1143 <td style="vertical-align: top;"><a name="PA0087"></a>PA0087</td> 963 1144 964 <td> 965 <p>averaging_interval_sp = ... must be <= dt_dosp = ...</p> 966 </td> 1145 <td style="vertical-align: top;"> 1146 averaging_interval_sp = ... must be <= dt_dosp = ... 1147 </td><td style="vertical-align: top;"><br> 1148 </td> 1149 967 1150 968 1151 </tr> … … 972 1155 <td style="vertical-align: top;"><a name="PA0088"></a>PA0088</td> 973 1156 974 <td> 975 <p>dt_averaging_input = ... must 976 be <= averaging_interval = ...</p> 977 </td> 1157 <td style="vertical-align: top;"> 1158 dt_averaging_input = ... must 1159 be <= averaging_interval = ... 1160 </td><td style="vertical-align: top;"><br> 1161 </td> 1162 978 1163 979 1164 </tr> … … 983 1168 <td style="vertical-align: top;"><a name="PA0089"></a>PA0089</td> 984 1169 985 <td> 986 <p>dt_averaging_input_pr = ... must be 987 <= averaging_interval_pr = ...</p> 988 </td> 1170 <td style="vertical-align: top;"> 1171 dt_averaging_input_pr = ... must be 1172 <= averaging_interval_pr = ... 1173 </td><td style="vertical-align: top;"><br> 1174 </td> 1175 989 1176 990 1177 </tr> … … 994 1181 <td style="vertical-align: top;"><a name="PA0090"></a>PA0090</td> 995 1182 996 <td> 997 <p>precipitation_amount_interval = ... must not be 998 larger than dt_do2d_xy = ...</p> 999 </td> 1183 <td style="vertical-align: top;"> 1184 precipitation_amount_interval = ... must not be 1185 larger than dt_do2d_xy = ... 1186 </td><td style="vertical-align: top;"><br> 1187 </td> 1188 1000 1189 1001 1190 </tr> … … 1005 1194 <td style="vertical-align: top;"><a name="PA0091"></a>PA0091</td> 1006 1195 1007 <td> 1008 <p>data_output_pr = ... is not implemented for 1009 ocean = .FALSE.'</p> 1010 </td> 1196 <td style="vertical-align: top;"> 1197 data_output_pr = ... is not implemented for 1198 ocean = .FALSE.' 1199 </td><td style="vertical-align: top;"><br> 1200 </td> 1201 1011 1202 1012 1203 </tr> … … 1016 1207 <td style="vertical-align: top;"><a name="PA0092"></a>PA0092</td> 1017 1208 1018 <td> 1019 <p>data_output_pr = ... is not implemented for 1020 humidity = .FALSE.'</p> 1021 </td> 1209 <td style="vertical-align: top;"> 1210 data_output_pr = ... is not implemented for 1211 humidity = .FALSE.' 1212 </td><td style="vertical-align: top;"><br> 1213 </td> 1214 1022 1215 1023 1216 </tr> … … 1027 1220 <td style="vertical-align: top;"><a name="PA0093"></a>PA0093</td> 1028 1221 1029 <td> 1030 <p>data_output_pr = ... is not implemented for 1031 passive_scalar = .FALSE.'</p> 1032 </td> 1222 <td style="vertical-align: top;"> 1223 data_output_pr = ... is not implemented for 1224 passive_scalar = .FALSE.' 1225 </td><td style="vertical-align: top;"><br> 1226 </td> 1227 1033 1228 1034 1229 </tr> … … 1038 1233 <td style="vertical-align: top;"><a name="PA0094"></a>PA0094</td> 1039 1234 1040 <td> 1041 <p>data_output_pr = ... is not implemented for 1042 cloud_physics = .FALSE.'</p> 1043 </td> 1235 <td style="vertical-align: top;"> 1236 data_output_pr = ... is not implemented for 1237 cloud_physics = .FALSE.' 1238 </td><td style="vertical-align: top;"><br> 1239 </td> 1240 1044 1241 1045 1242 </tr> … … 1049 1246 <td style="vertical-align: top;"><a name="PA0095"></a>PA0095</td> 1050 1247 1051 <td> 1052 <p>data_output_pr = ... is not implemented for 1053 cloud_physics = .FALSE. and humidity = .FALSE.</p> 1054 </td> 1248 <td style="vertical-align: top;"> 1249 data_output_pr = ... is not implemented for 1250 cloud_physics = .FALSE. and humidity = .FALSE. 1251 </td><td style="vertical-align: top;"><br> 1252 </td> 1253 1055 1254 1056 1255 </tr> … … 1060 1259 <td style="vertical-align: top;"><a name="PA0096"></a>PA0096</td> 1061 1260 1062 <td> 1063 <p>data_output_pr = ... is not implemented for 1064 cloud_physics = .FALSE. or cloud_droplets = .FALSE</p> 1065 </td> 1261 <td style="vertical-align: top;"> 1262 data_output_pr = ... is not implemented for 1263 cloud_physics = .FALSE. or cloud_droplets = .FALSE 1264 </td><td style="vertical-align: top;"><br> 1265 </td> 1266 1066 1267 1067 1268 </tr> … … 1071 1272 <td style="vertical-align: top;"><a name="PA0097"></a>PA0097</td> 1072 1273 1073 <td> 1074 <p>illegal value for data_output_pr or 1075 data_output_pr_user = "..."</p> 1076 </td> 1274 <td style="vertical-align: top;"> 1275 illegal value for data_output_pr or 1276 data_output_pr_user = "..." 1277 </td><td style="vertical-align: top;"><br> 1278 </td> 1279 1077 1280 1078 1281 </tr> … … 1082 1285 <td style="vertical-align: top;"><a name="PA0098"></a>PA0098</td> 1083 1286 1084 <td> 1085 <p>illegal value for data_output_pr = "..."</p> 1086 </td> 1287 <td style="vertical-align: top;"> 1288 illegal value for data_output_pr = "..." 1289 </td><td style="vertical-align: top;"><br> 1290 </td> 1291 1087 1292 1088 1293 </tr> … … 1092 1297 <td style="vertical-align: top;"><a name="PA0099"></a>PA0099</td> 1093 1298 1094 <td> 1095 <p>z_max_do1d = ... must be >= ... or <= ...</p> 1096 </td> 1299 <td style="vertical-align: top;"> 1300 z_max_do1d = ... must be >= ... or <= ... 1301 </td><td style="vertical-align: top;"><br> 1302 </td> 1303 1097 1304 1098 1305 </tr> … … 1102 1309 <td style="vertical-align: top;"><a name="PA0100"></a>PA0100</td> 1103 1310 1104 <td> 1105 <p>unknown normalization method cross_normalized_x = "..."</p> 1106 </td> 1311 <td style="vertical-align: top;"> 1312 unknown normalization method cross_normalized_x = "..." 1313 </td><td style="vertical-align: top;"><br> 1314 </td> 1315 1107 1316 1108 1317 </tr> … … 1112 1321 <td style="vertical-align: top;"><a name="PA0101"></a>PA0101</td> 1113 1322 1114 <td> 1115 <p>unknown normalization method cross_normalized_y = "..."</p> 1116 </td> 1323 <td style="vertical-align: top;"> 1324 unknown normalization method cross_normalized_y = "..." 1325 </td><td style="vertical-align: top;"><br> 1326 </td> 1327 1117 1328 1118 1329 </tr> … … 1122 1333 <td style="vertical-align: top;"><a name="PA0102"></a>PA0102</td> 1123 1334 1124 <td> 1125 <p>number of output quantitities given by data_output 1126 and data_output_user exceeds the limit of 100</p> 1127 </td> 1335 <td style="vertical-align: top;"> 1336 number of output quantitities given by data_output 1337 and data_output_user exceeds the limit of 100 1338 </td><td style="vertical-align: top;"><br> 1339 </td> 1340 1128 1341 1129 1342 </tr> … … 1133 1346 <td style="vertical-align: top;"><a name="PA0103"></a>PA0103</td> 1134 1347 1135 <td> 1136 <p>output of "..." requires constant_diffusion = .FALSE.</p> 1137 </td> 1348 <td style="vertical-align: top;"> 1349 output of "..." requires constant_diffusion = .FALSE. 1350 </td><td style="vertical-align: top;"><br> 1351 </td> 1352 1138 1353 1139 1354 </tr> … … 1143 1358 <td style="vertical-align: top;"><a name="PA0104"></a>PA0104</td> 1144 1359 1145 <td> 1146 <p>output of "..." requires a "particles_par"-NAMELIST 1147 in the parameter file (PARIN)</p> 1148 </td> 1360 <td style="vertical-align: top;"> 1361 output of "..." requires a "particles_par"-NAMELIST 1362 in the parameter file (PARIN) 1363 </td><td style="vertical-align: top;"><br> 1364 </td> 1365 1149 1366 1150 1367 </tr> … … 1154 1371 <td style="vertical-align: top;"><a name="PA0105"></a>PA0105</td> 1155 1372 1156 <td> 1157 <p>output of "..." requires humidity = .TRUE.</p> 1158 </td> 1373 <td style="vertical-align: top;"> 1374 output of "..." requires humidity = .TRUE. 1375 </td><td style="vertical-align: top;"><br> 1376 </td> 1377 1159 1378 1160 1379 </tr> … … 1164 1383 <td style="vertical-align: top;"><a name="PA0106"></a>PA0106</td> 1165 1384 1166 <td> 1167 <p>output of "" requires cloud_physics = .TRUE. or 1168 cloud_droplets = .TRUE.'</p> 1169 </td> 1385 <td style="vertical-align: top;"> 1386 output of "" requires cloud_physics = .TRUE. or 1387 cloud_droplets = .TRUE.' 1388 </td><td style="vertical-align: top;"><br> 1389 </td> 1390 1170 1391 1171 1392 </tr> … … 1175 1396 <td style="vertical-align: top;"><a name="PA0107"></a>PA0107</td> 1176 1397 1177 <td> 1178 <p>output of "..." requires cloud_droplets = .TRUE.</p> 1179 </td> 1398 <td style="vertical-align: top;"> 1399 output of "..." requires cloud_droplets = .TRUE. 1400 </td><td style="vertical-align: top;"><br> 1401 </td> 1402 1180 1403 1181 1404 </tr> … … 1185 1408 <td style="vertical-align: top;"><a name="PA0108"></a>PA0108</td> 1186 1409 1187 <td> 1188 <p>output of "..." requires cloud_physics = .TRUE.</p> 1189 </td> 1410 <td style="vertical-align: top;"> 1411 output of "..." requires cloud_physics = .TRUE. 1412 </td><td style="vertical-align: top;"><br> 1413 </td> 1414 1190 1415 1191 1416 </tr> … … 1195 1420 <td style="vertical-align: top;"><a name="PA0109"></a>PA0109</td> 1196 1421 1197 <td> 1198 <p>output of "..." requires ocean = .TRUE.</p> 1199 </td> 1422 <td style="vertical-align: top;"> 1423 output of "..." requires ocean = .TRUE. 1424 </td><td style="vertical-align: top;"><br> 1425 </td> 1426 1200 1427 1201 1428 </tr> … … 1205 1432 <td style="vertical-align: top;"><a name="PA0110"></a>PA0110</td> 1206 1433 1207 <td> 1208 <p>output of "..." requires passive_scalar = .TRUE.</p> 1209 </td> 1434 <td style="vertical-align: top;"> 1435 output of "..." requires passive_scalar = .TRUE. 1436 </td><td style="vertical-align: top;"><br> 1437 </td> 1438 1210 1439 1211 1440 </tr> … … 1215 1444 <td style="vertical-align: top;"><a name="PA0111"></a>PA0111</td> 1216 1445 1217 <td> 1218 <p>illegal value for data_output: "..." only 1219 2d-horizontal cross sections are allowed for this value</p> 1220 </td> 1446 <td style="vertical-align: top;"> 1447 illegal value for data_output: "..." only 1448 2d-horizontal cross sections are allowed for this value 1449 </td><td style="vertical-align: top;"><br> 1450 </td> 1451 1221 1452 1222 1453 </tr> … … 1226 1457 <td style="vertical-align: top;"><a name="PA0112"></a>PA0112</td> 1227 1458 1228 <td> 1229 <p>output of "..." requires precipitation = .TRUE.</p> 1230 </td> 1459 <td style="vertical-align: top;"> 1460 output of "..." requires precipitation = .TRUE. 1461 </td><td style="vertical-align: top;"><br> 1462 </td> 1463 1231 1464 1232 1465 </tr> … … 1236 1469 <td style="vertical-align: top;"><a name="PA0113"></a>PA0113</td> 1237 1470 1238 <td> 1239 <p>temporal averaging of precipitation amount "..." 1240 is not possible'</p> 1241 </td> 1471 <td style="vertical-align: top;"> 1472 temporal averaging of precipitation amount "..." 1473 is not possible' 1474 </td><td style="vertical-align: top;"><br> 1475 </td> 1476 1242 1477 1243 1478 </tr> … … 1247 1482 <td style="vertical-align: top;"><a name="PA0114"></a>PA0114</td> 1248 1483 1249 <td> 1250 <p>illegal value for data_output or data_output_user = "..."</p> 1251 </td> 1484 <td style="vertical-align: top;"> 1485 illegal value for data_output or data_output_user = "..." 1486 </td><td style="vertical-align: top;"><br> 1487 </td> 1488 1252 1489 1253 1490 </tr> … … 1257 1494 <td style="vertical-align: top;"><a name="PA0115"></a>PA0115</td> 1258 1495 1259 <td> 1260 <p>illegal value for data_output = "..."</p> 1261 </td> 1496 <td style="vertical-align: top;"> 1497 illegal value for data_output = "..." 1498 </td><td style="vertical-align: top;"><br> 1499 </td> 1500 1262 1501 1263 1502 </tr> … … 1267 1506 <td style="vertical-align: top;"><a name="PA0116"></a>PA0116</td> 1268 1507 1269 <td >z_max_do2d = ..., z_max_do2d must be >= ... (zu(nzb+1))1508 <td style="vertical-align: top;">z_max_do2d = ..., z_max_do2d must be >= ... (zu(nzb+1)) 1270 1509 and <= ...(zu(nzt)) 1271 <p></p> 1272 </td> 1510 1511 </td><td style="vertical-align: top;"><br> 1512 </td> 1513 1273 1514 1274 1515 </tr> … … 1278 1519 <td style="vertical-align: top;"><a name="PA0117"></a>PA0117</td> 1279 1520 1280 <td> 1281 <p>do3d_compress = .TRUE. not allowed on host ""</p> 1282 </td> 1521 <td style="vertical-align: top;"> 1522 do3d_compress = .TRUE. not allowed on host "" 1523 </td><td style="vertical-align: top;"><br> 1524 </td> 1525 1283 1526 1284 1527 </tr> … … 1288 1531 <td style="vertical-align: top;"><a name="PA0118"></a>PA0118</td> 1289 1532 1290 <td> 1291 <p>illegal precision: do3d_comp_prec ( ...) = "..."</p> 1292 </td> 1533 <td style="vertical-align: top;"> 1534 illegal precision: do3d_comp_prec ( ...) = "..." 1535 </td><td style="vertical-align: top;"><br> 1536 </td> 1537 1293 1538 1294 1539 </tr> … … 1298 1543 <td style="vertical-align: top;"><a name="PA0119"></a>PA0119</td> 1299 1544 1300 <td> 1301 <p>unknown variable "..." given for do3d_comp_prec(...)</p> 1302 </td> 1545 <td style="vertical-align: top;"> 1546 unknown variable "..." given for do3d_comp_prec(...) 1547 </td><td style="vertical-align: top;"><br> 1548 </td> 1549 1303 1550 1304 1551 </tr> … … 1308 1555 <td style="vertical-align: top;"><a name="PA0120"></a>PA0120</td> 1309 1556 1310 <td> 1311 <p>unknown value for data_output_format "..."</p> 1312 </td> 1557 <td style="vertical-align: top;"> 1558 unknown value for data_output_format "..." 1559 </td><td style="vertical-align: top;"><br> 1560 </td> 1561 1313 1562 1314 1563 </tr> … … 1318 1567 <td style="vertical-align: top;"><a name="PA0121"></a>PA0121</td> 1319 1568 1320 <td> 1321 <p>km_constant = ... < 0.0</p> 1322 </td> 1569 <td style="vertical-align: top;"> 1570 km_constant = ... < 0.0 1571 </td><td style="vertical-align: top;"><br> 1572 </td> 1573 1323 1574 1324 1575 </tr> … … 1328 1579 <td style="vertical-align: top;"><a name="PA0122"></a>PA0122</td> 1329 1580 1330 <td> 1331 <p>prandtl_number = ... < 0.0</p> 1332 </td> 1581 <td style="vertical-align: top;"> 1582 prandtl_number = ... < 0.0 1583 </td><td style="vertical-align: top;"><br> 1584 </td> 1585 1333 1586 1334 1587 </tr> … … 1338 1591 <td style="vertical-align: top;"><a name="PA0123"></a>PA0123</td> 1339 1592 1340 <td> 1341 <p>prandtl_layer is not allowed with fixed value of km</p> 1342 </td> 1593 <td style="vertical-align: top;"> 1594 prandtl_layer is not allowed with fixed value of km 1595 </td><td style="vertical-align: top;"><br> 1596 </td> 1597 1343 1598 1344 1599 </tr> … … 1348 1603 <td style="vertical-align: top;"><a name="PA0124"></a>PA0124</td> 1349 1604 1350 <td> 1351 <p>outflow_damping width out of range</p> 1352 </td> 1605 <td style="vertical-align: top;"> 1606 outflow_damping width out of range 1607 </td><td style="vertical-align: top;"><br> 1608 </td> 1609 1353 1610 1354 1611 </tr> … … 1358 1615 <td style="vertical-align: top;"><a name="PA0125"></a>PA0125</td> 1359 1616 1360 <td> 1361 <p>rif_min = ... must be less than rif_max = ...</p> 1362 </td> 1617 <td style="vertical-align: top;"> 1618 rif_min = ... must be less than rif_max = ... 1619 </td><td style="vertical-align: top;"><br> 1620 </td> 1621 1363 1622 1364 1623 </tr> … … 1368 1627 <td style="vertical-align: top;"><a name="PA0126"></a>PA0126</td> 1369 1628 1370 <td> 1371 <p>disturbance_level_b = ... must be >= ... (zu(3))</p> 1372 </td> 1629 <td style="vertical-align: top;"> 1630 disturbance_level_b = ... must be >= ... (zu(3)) 1631 </td><td style="vertical-align: top;"><br> 1632 </td> 1633 1373 1634 1374 1635 </tr> … … 1378 1639 <td style="vertical-align: top;"><a name="PA0127"></a>PA0127</td> 1379 1640 1380 <td> 1381 <p>disturbance_level_b = ... must be <= ... (zu(nzt-2))</p> 1382 </td> 1641 <td style="vertical-align: top;"> 1642 disturbance_level_b = ... must be <= ... (zu(nzt-2)) 1643 </td><td style="vertical-align: top;"><br> 1644 </td> 1645 1383 1646 1384 1647 </tr> … … 1388 1651 <td style="vertical-align: top;"><a name="PA0128"></a>PA0128</td> 1389 1652 1390 <td> 1391 <p>disturbance_level_t = ... must be <= ... (zu(nzt-2))</p> 1392 </td> 1653 <td style="vertical-align: top;"> 1654 disturbance_level_t = ... must be <= ... (zu(nzt-2)) 1655 </td><td style="vertical-align: top;"><br> 1656 </td> 1657 1393 1658 1394 1659 </tr> … … 1398 1663 <td style="vertical-align: top;"><a name="PA0129"></a>PA0129</td> 1399 1664 1400 <td> 1401 <p>disturbance_level_t = ... must 1402 be >= disturbance_level_b = ...</p> 1403 </td> 1665 <td style="vertical-align: top;"> 1666 disturbance_level_t = ... must 1667 be >= disturbance_level_b = ... 1668 </td><td style="vertical-align: top;"><br> 1669 </td> 1670 1404 1671 1405 1672 </tr> … … 1409 1676 <td style="vertical-align: top;"><a name="PA0130"></a>PA0130</td> 1410 1677 1411 <td> 1412 <p>disturbance_level_ind_t =... must 1413 be >= disturbance_level_b = ...</p> 1414 </td> 1678 <td style="vertical-align: top;"> 1679 disturbance_level_ind_t =... must 1680 be >= disturbance_level_b = ... 1681 </td><td style="vertical-align: top;"><br> 1682 </td> 1683 1415 1684 1416 1685 </tr> … … 1420 1689 <td style="vertical-align: top;"><a name="PA0131"></a>PA0131</td> 1421 1690 1422 <td> 1423 <p>inflow_disturbance_begin out of range</p> 1424 </td> 1691 <td style="vertical-align: top;"> 1692 inflow_disturbance_begin out of range 1693 </td><td style="vertical-align: top;"><br> 1694 </td> 1695 1425 1696 1426 1697 </tr> … … 1430 1701 <td style="vertical-align: top;"><a name="PA0132"></a>PA0132</td> 1431 1702 1432 <td> 1433 <p>inflow_disturbance_end out of range</p> 1434 </td> 1703 <td style="vertical-align: top;"> 1704 inflow_disturbance_end out of range 1705 </td><td style="vertical-align: top;"><br> 1706 </td> 1707 1435 1708 1436 1709 </tr> … … 1440 1713 <td style="vertical-align: top;"><a name="PA0133"></a>PA0133</td> 1441 1714 1442 <td> 1443 <p>turbulent_inflow = .T. requires a Dirichlet 1444 condition at the inflow boundary</p> 1445 </td> 1715 <td style="vertical-align: top;"> 1716 turbulent_inflow = .T. requires a Dirichlet 1717 condition at the inflow boundary 1718 </td><td style="vertical-align: top;"><br> 1719 </td> 1720 1446 1721 1447 1722 </tr> … … 1451 1726 <td style="vertical-align: top;"><a name="PA0134"></a>PA0134</td> 1452 1727 1453 <td> 1454 <p>illegal value for recycling_width: ...</p> 1455 </td> 1728 <td style="vertical-align: top;"> 1729 illegal value for recycling_width: ... 1730 </td><td style="vertical-align: top;"><br> 1731 </td> 1732 1456 1733 1457 1734 </tr> … … 1461 1738 <td style="vertical-align: top;"><a name="PA0135"></a>PA0135</td> 1462 1739 1463 <td> 1464 <p>unknown random generator: random_generator = "..."</p> 1465 </td> 1740 <td style="vertical-align: top;"> 1741 unknown random generator: random_generator = "..." 1742 </td><td style="vertical-align: top;"><br> 1743 </td> 1744 1466 1745 1467 1746 </tr> … … 1471 1750 <td style="vertical-align: top;"><a name="PA0136"></a>PA0136</td> 1472 1751 1473 <td> 1474 <p>damp_level_1d = ... must be > 0.0 and < ... (zu(nzt+1))</p> 1475 </td> 1752 <td style="vertical-align: top;"> 1753 damp_level_1d = ... must be > 0.0 and < ... (zu(nzt+1)) 1754 </td><td style="vertical-align: top;"><br> 1755 </td> 1756 1476 1757 1477 1758 </tr> … … 1481 1762 <td style="vertical-align: top;"><a name="PA0137"></a>PA0137</td> 1482 1763 1483 <td> 1484 <p>mixing_length_1d = "..." is unknown</p> 1485 </td> 1764 <td style="vertical-align: top;"> 1765 mixing_length_1d = "..." is unknown 1766 </td><td style="vertical-align: top;"><br> 1767 </td> 1768 1486 1769 1487 1770 </tr> … … 1491 1774 <td style="vertical-align: top;"><a name="PA0138"></a>PA0138</td> 1492 1775 1493 <td> 1494 <p>dissipation_1d = "..." is unknown</p> 1495 </td> 1776 <td style="vertical-align: top;"> 1777 dissipation_1d = "..." is unknown 1778 </td><td style="vertical-align: top;"><br> 1779 </td> 1780 1496 1781 1497 1782 </tr> … … 1501 1786 <td style="vertical-align: top;"><a name="PA0139"></a>PA0139</td> 1502 1787 1503 <td> 1504 <p>termination_time_needed = ... must be > 30.0 on host ...</p> 1505 </td> 1788 <td style="vertical-align: top;"> 1789 termination_time_needed = ... must be > 30.0 on host ... 1790 </td><td style="vertical-align: top;"><br> 1791 </td> 1792 1506 1793 1507 1794 </tr> … … 1511 1798 <td style="vertical-align: top;"><a name="PA0140"></a>PA0140</td> 1512 1799 1513 <td> 1514 <p>termination_time_needed = ... should be >= 300.0 1515 on host "..."</p> 1516 </td> 1800 <td style="vertical-align: top;"> 1801 termination_time_needed = ... should be >= 300.0 1802 on host "..." 1803 </td><td style="vertical-align: top;"><br> 1804 </td> 1805 1517 1806 1518 1807 </tr> … … 1522 1811 <td style="vertical-align: top;"><a name="PA0141"></a>PA0141</td> 1523 1812 1524 <td> 1525 <p>coupling requires PALM to be called with 1526 ''mrun -K parallel''</p> 1527 </td> 1813 <td style="vertical-align: top;"> 1814 coupling requires PALM to be called with 1815 ''mrun -K parallel'' 1816 </td><td style="vertical-align: top;"><br> 1817 </td> 1818 1528 1819 1529 1820 </tr> … … 1533 1824 <td style="vertical-align: top;"><a name="PA0142"></a>PA0142</td> 1534 1825 1535 <td> 1536 <p>absolute temperature < 0.0 at zu(...) = ...</p> 1537 </td> 1826 <td style="vertical-align: top;"> 1827 absolute temperature < 0.0 at zu(...) = ... 1828 </td><td style="vertical-align: top;"><br> 1829 </td> 1830 1538 1831 1539 1832 </tr> … … 1543 1836 <td style="vertical-align: top;"><a name="PA0143"></a>PA0143</td> 1544 1837 1545 <td> 1546 <p>k=... j=... i=... ql_c=... part(...)%wf=... 1547 delta_r=...</p> 1548 </td> 1838 <td style="vertical-align: top;"> 1839 k=... j=... i=... ql_c=... part(...)%wf=... 1840 delta_r=... 1841 </td><td style="vertical-align: top;"><br> 1842 </td> 1843 1549 1844 1550 1845 </tr> … … 1554 1849 <td style="vertical-align: top;"><a name="PA0144"></a>PA0144</td> 1555 1850 1556 <td> 1557 <p>#1 k=... j=... i=... e_s=... e_a=... t_int=... 1558 d_radius=... delta_r=... particle_radius=...</p> 1559 </td> 1851 <td style="vertical-align: top;"> 1852 #1 k=... j=... i=... e_s=... e_a=... t_int=... 1853 d_radius=... delta_r=... particle_radius=... 1854 </td><td style="vertical-align: top;"><br> 1855 </td> 1856 1560 1857 1561 1858 </tr> … … 1565 1862 <td style="vertical-align: top;"><a name="PA0145"></a>PA0145</td> 1566 1863 1567 <td> 1568 <p>collision_efficiency out of range: ...</p> 1569 </td> 1864 <td style="vertical-align: top;"> 1865 collision_efficiency out of range: ... 1866 </td><td style="vertical-align: top;"><br> 1867 </td> 1868 1570 1869 1571 1870 </tr> … … 1575 1874 <td style="vertical-align: top;"><a name="PA0146"></a>PA0146</td> 1576 1875 1577 <td> 1578 <p>maximum_number_of_particles needs to be increased 1579 but this is not allowed with NetCDF output switched on</p> 1580 </td> 1876 <td style="vertical-align: top;"> 1877 maximum_number_of_particles needs to be increased 1878 but this is not allowed with NetCDF output switched on 1879 </td><td style="vertical-align: top;"><br> 1880 </td> 1881 1581 1882 1582 1883 </tr> … … 1586 1887 <td style="vertical-align: top;"><a name="PA0147"></a>PA0147</td> 1587 1888 1588 <td> 1589 <p>maximum_number_of_tails needs to be increased 1590 but this is not allowed with NetCDF output switched on</p> 1591 </td> 1889 <td style="vertical-align: top;"> 1890 maximum_number_of_tails needs to be increased 1891 but this is not allowed with NetCDF output switched on 1892 </td><td style="vertical-align: top;"><br> 1893 </td> 1894 1592 1895 1593 1896 </tr> … … 1597 1900 <td style="vertical-align: top;"><a name="PA0148"></a>PA0148</td> 1598 1901 1599 <td> 1600 <p>particle too fast. n = ...</p> 1601 </td> 1902 <td style="vertical-align: top;"> 1903 particle too fast. n = ... 1904 </td><td style="vertical-align: top;"><br> 1905 </td> 1906 1602 1907 1603 1908 </tr> … … 1607 1912 <td style="vertical-align: top;"><a name="PA0149"></a>PA0149</td> 1608 1913 1609 <td> 1610 <p>particle out of range: i=... j=... k=... 1611 nxl=... nxr=... nys=... nyn=... nzb=... nzt=...</p> 1612 </td> 1914 <td style="vertical-align: top;"> 1915 particle out of range: i=... j=... k=... 1916 nxl=... nxr=... nys=... nyn=... nzb=... nzt=... 1917 </td><td style="vertical-align: top;"><br> 1918 </td> 1919 1613 1920 1614 1921 </tr> … … 1618 1925 <td style="vertical-align: top;"><a name="PA0150"></a>PA0150</td> 1619 1926 1620 <td> 1621 <p>Both dp_external and conserve_volume_flow are .TRUE. 1622 but one of them must be .FALSE.</p> 1623 </td> 1927 <td style="vertical-align: top;"> 1928 Both dp_external and conserve_volume_flow are .TRUE. 1929 but one of them must be .FALSE. 1930 </td><td style="vertical-align: top;"><br> 1931 </td> 1932 1624 1933 1625 1934 </tr> … … 1629 1938 <td style="vertical-align: top;"><a name="PA0151"></a>PA0151</td> 1630 1939 1631 <td> 1632 <p>dp_level_b = ... is out of range</p> 1633 </td> 1940 <td style="vertical-align: top;"> 1941 dp_level_b = ... is out of range 1942 </td><td style="vertical-align: top;"><br> 1943 </td> 1944 1634 1945 1635 1946 </tr> … … 1639 1950 <td style="vertical-align: top;"><a name="PA0152"></a>PA0152</td> 1640 1951 1641 <td >1642 <p>dp_external is .TRUE. but dpdxy is zero,1952 <td style="vertical-align: top;"> 1953 dp_external is .TRUE. but dpdxy is zero, 1643 1954 i.e. the external 1644 pressure gradient will not be applied</p> 1645 </td> 1955 pressure gradient will not be applied 1956 </td><td style="vertical-align: top;"><br> 1957 </td> 1958 1646 1959 1647 1960 </tr> … … 1651 1964 <td style="vertical-align: top;"><a name="PA0153"></a>PA0153</td> 1652 1965 1653 <td> 1654 <p>dpdxy is nonzero but dp_external is .FALSE., i.e. the 1655 external pressure gradient will not be applied</p> 1656 </td> 1966 <td style="vertical-align: top;"> 1967 dpdxy is nonzero but dp_external is .FALSE., i.e. the 1968 external pressure gradient will not be applied 1969 </td><td style="vertical-align: top;"><br> 1970 </td> 1971 1657 1972 1658 1973 </tr> … … 1662 1977 <td style="vertical-align: top;"><a name="PA0154"></a>PA0154</td> 1663 1978 1664 <td> 1665 <p>unknown conserve_volume_flow_mode: ...</p> 1666 </td> 1979 <td style="vertical-align: top;"> 1980 unknown conserve_volume_flow_mode: ... 1981 </td><td style="vertical-align: top;"><br> 1982 </td> 1983 1667 1984 1668 1985 </tr> … … 1672 1989 <td style="vertical-align: top;"><a name="PA0155"></a>PA0155</td> 1673 1990 1674 <td> 1675 <p>noncyclic boundary conditions require 1676 conserve_volume_flow_mode = ''inflow_profile''</p> 1677 </td> 1991 <td style="vertical-align: top;"> 1992 noncyclic boundary conditions require 1993 conserve_volume_flow_mode = ''inflow_profile'' 1994 </td><td style="vertical-align: top;"><br> 1995 </td> 1996 1678 1997 1679 1998 </tr> … … 1683 2002 <td style="vertical-align: top;"><a name="PA0156"></a>PA0156</td> 1684 2003 1685 <td >1686 <p>cyclic boundary conditions require2004 <td style="vertical-align: top;"> 2005 cyclic boundary conditions require 1687 2006 conserve_volume_flow_mode = ''initial_profiles'' or 1688 ''bulk_velocity'' requires noncyclic boundary conditions</p> 1689 </td> 2007 ''bulk_velocity'' requires noncyclic boundary conditions 2008 </td><td style="vertical-align: top;"><br> 2009 </td> 2010 1690 2011 1691 2012 </tr> … … 1695 2016 <td style="vertical-align: top;"><a name="PA01357"></a>PA0137</td> 1696 2017 1697 <td >1698 <p>nonzero bulk velocity requires2018 <td style="vertical-align: top;"> 2019 nonzero bulk velocity requires 1699 2020 conserve_volume_flow = .T. and 1700 conserve_volume_flow_mode = ''bulk_velocity''</p> 1701 </td> 2021 conserve_volume_flow_mode = ''bulk_velocity'' 2022 </td><td style="vertical-align: top;"><br> 2023 </td> 2024 1702 2025 1703 2026 </tr> … … 1707 2030 <td style="vertical-align: top;"><a name="PA0158"></a>PA0158</td> 1708 2031 1709 <td> 1710 <p>no vertical boundary condition for variable "..."</p> 1711 </td> 2032 <td style="vertical-align: top;"> 2033 no vertical boundary condition for variable "..." 2034 </td><td style="vertical-align: top;"><br> 2035 </td> 2036 1712 2037 1713 2038 </tr> … … 1717 2042 <td style="vertical-align: top;"><a name="PA0159"></a>PA0159</td> 1718 2043 1719 <td> 1720 <p>no term for component "..."</p> 1721 </td> 2044 <td style="vertical-align: top;"> 2045 no term for component "..." 2046 </td><td style="vertical-align: top;"><br> 2047 </td> 2048 1722 2049 1723 2050 </tr> … … 1727 2054 <td style="vertical-align: top;"><a name="PA0160"></a>PA0160</td> 1728 2055 1729 <td> 1730 <p>non-cyclic lateral boundaries along x do not allow 1731 calculation of spectra along x</p> 1732 </td> 2056 <td style="vertical-align: top;"> 2057 non-cyclic lateral boundaries along x do not allow 2058 calculation of spectra along x 2059 </td><td style="vertical-align: top;"><br> 2060 </td> 2061 1733 2062 1734 2063 </tr> … … 1738 2067 <td style="vertical-align: top;"><a name="PA00161"></a>PA0161</td> 1739 2068 1740 <td> 1741 <p>sorry, calculation of spectra in non parallel mode is 1742 still not realized</p> 1743 </td> 2069 <td style="vertical-align: top;"> 2070 sorry, calculation of spectra in non parallel mode is 2071 still not realized 2072 </td><td style="vertical-align: top;"><br> 2073 </td> 2074 1744 2075 1745 2076 </tr> … … 1749 2080 <td style="vertical-align: top;"><a name="PA0162"></a>PA0162</td> 1750 2081 1751 <td> 1752 <p>non-cyclic lateral boundaries along y do not allow 1753 calculation of spectra along y</p> 1754 </td> 2082 <td style="vertical-align: top;"> 2083 non-cyclic lateral boundaries along y do not allow 2084 calculation of spectra along y 2085 </td><td style="vertical-align: top;"><br> 2086 </td> 2087 1755 2088 1756 2089 </tr> … … 1760 2093 <td style="vertical-align: top;"><a name="PA0163"></a>PA0163</td> 1761 2094 1762 <td >1763 <p>run will be terminated because it is running out of2095 <td style="vertical-align: top;"> 2096 run will be terminated because it is running out of 1764 2097 job cpu limit remaining time: ... s 1765 termination time needed: ... s</p> 1766 </td> 2098 termination time needed: ... s 2099 </td><td style="vertical-align: top;"><br> 2100 </td> 2101 1767 2102 1768 2103 </tr> … … 1772 2107 <td style="vertical-align: top;"><a name="PA0164"></a>PA0164</td> 1773 2108 1774 <td> 1775 <p>run will be terminated due to user settings of 1776 restart_time / dt_restart new restart time is: ... s</p> 1777 </td> 2109 <td style="vertical-align: top;"> 2110 run will be terminated due to user settings of 2111 restart_time / dt_restart new restart time is: ... s 2112 </td><td style="vertical-align: top;"><br> 2113 </td> 2114 1778 2115 1779 2116 </tr> … … 1783 2120 <td style="vertical-align: top;"><a name="PA0165"></a>PA0165</td> 1784 2121 1785 <td> 1786 <p>re-open of unit 14 is not verified. Please check results!</p> 1787 </td> 2122 <td style="vertical-align: top;"> 2123 re-open of unit 14 is not verified. Please check results! 2124 </td><td style="vertical-align: top;"><br> 2125 </td> 2126 1788 2127 1789 2128 </tr> … … 1793 2132 <td style="vertical-align: top;"><a name="PA0166"></a>PA0166</td> 1794 2133 1795 <td> 1796 <p>re-opening of file-id ... is not allowed</p> 1797 </td> 2134 <td style="vertical-align: top;"> 2135 re-opening of file-id ... is not allowed 2136 </td><td style="vertical-align: top;"><br> 2137 </td> 2138 1798 2139 1799 2140 </tr> … … 1803 2144 <td style="vertical-align: top;"><a name="PA0167"></a>PA0167</td> 1804 2145 1805 <td> 1806 <p>opening file-id ... not allowed for PE ...</p> 1807 </td> 2146 <td style="vertical-align: top;"> 2147 opening file-id ... not allowed for PE ... 2148 </td><td style="vertical-align: top;"><br> 2149 </td> 2150 1808 2151 1809 2152 </tr> … … 1813 2156 <td style="vertical-align: top;"><a name="PA0168"></a>PA0168</td> 1814 2157 1815 <td> 1816 <p>opening file-id ... is not allowed since it is used 1817 otherwise</p> 1818 </td> 2158 <td style="vertical-align: top;"> 2159 opening file-id ... is not allowed since it is used 2160 otherwise 2161 </td><td style="vertical-align: top;"><br> 2162 </td> 2163 1819 2164 1820 2165 </tr> … … 1824 2169 <td style="vertical-align: top;"><a name="PA0169"></a>PA0169</td> 1825 2170 1826 <td> 1827 <p>no filename for AVS-data-file found in MRUN-config-file 1828 filename in FLD-file set to "unknown"</p> 1829 </td> 2171 <td style="vertical-align: top;"> 2172 no filename for AVS-data-file found in MRUN-config-file 2173 filename in FLD-file set to "unknown" 2174 </td><td style="vertical-align: top;"><br> 2175 </td> 2176 1830 2177 1831 2178 </tr> … … 1835 2182 <td style="vertical-align: top;"><a name="PA0170"></a>PA0170</td> 1836 2183 1837 <td>no path for batch_scp on host "..." 1838 <p></p> 1839 </td> 2184 <td style="vertical-align: top;">no path for batch_scp on host "..." 2185 2186 </td><td style="vertical-align: top;"><br> 2187 </td> 2188 1840 2189 1841 2190 </tr> … … 1845 2194 <td style="vertical-align: top;"><a name="PA0171"></a>PA0171</td> 1846 2195 1847 <td> 1848 <p>NetCDF: no 64-bit offset allowed on this machine</p> 1849 </td> 2196 <td style="vertical-align: top;"> 2197 2198 NetCDF: NetCDF4 format requested but no cpp-directive __netcdf4 given<br> 2199 switch back to 64-bit offset format<br> 2200 </td><td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">netcdf_data_format</span> > <span style="font-style: italic;">2</span> has been set. This requires NetCDF4 features, which have to be activated by setting the cpp-directive <span style="font-family: Courier New,Courier,monospace;">__netcdf4</span> in the configuration file (<span style="font-family: Courier New,Courier,monospace;">%cpp_options</span>). It also requires a NetCDF4 library. Set <span style="font-family: Courier New,Courier,monospace;">-I</span>, <span style="font-family: Courier New,Courier,monospace;">-L</span>, and <span style="font-family: Courier New,Courier,monospace;">-l</span> options in compile (<span style="font-family: Courier New,Courier,monospace;">%copts</span>) and load (<span style="font-family: Courier New,Courier,monospace;">%lopts</span>) options of the configuration file appropriately.<br> 2201 </td> 2202 1850 2203 1851 2204 </tr> … … 1855 2208 <td style="vertical-align: top;"><a name="PA0172"></a>PA0172</td> 1856 2209 1857 <td> 1858 <p>no OPEN-statement for file-id ...</p> 1859 </td> 2210 <td style="vertical-align: top;"> 2211 no OPEN-statement for file-id ... 2212 </td><td style="vertical-align: top;"><br> 2213 </td> 2214 1860 2215 1861 2216 </tr> … … 1865 2220 <td style="vertical-align: top;"><a name="PA0173"></a>PA0173</td> 1866 2221 1867 <td> 1868 <p>wrong component: ...</p> 1869 </td> 2222 <td style="vertical-align: top;"> 2223 wrong component: ... 2224 </td><td style="vertical-align: top;"><br> 2225 </td> 2226 1870 2227 1871 2228 </tr> … … 1875 2232 <td style="vertical-align: top;"><a name="PA0174"></a>PA0174</td> 1876 2233 1877 <td> 1878 <p>wrong argument expected: ... given:</p> 1879 </td> 2234 <td style="vertical-align: top;"> 2235 wrong argument expected: ... given: 2236 </td><td style="vertical-align: top;"><br> 2237 </td> 2238 1880 2239 1881 2240 </tr> … … 1885 2244 <td style="vertical-align: top;"><a name="PA0175"></a>PA0175</td> 1886 2245 1887 <td> 1888 <p>no time measurement defined on this host</p> 1889 </td> 2246 <td style="vertical-align: top;"> 2247 no time measurement defined on this host 2248 </td><td style="vertical-align: top;"><br> 2249 </td> 2250 1890 2251 1891 2252 </tr> … … 1895 2256 <td style="vertical-align: top;"><a name="PA0176"></a>PA0176</td> 1896 2257 1897 <td> 1898 <p>negative time interval occured 1899 PE ... L=PAUSE "..." new=... last=...</p> 1900 </td> 2258 <td style="vertical-align: top;"> 2259 negative time interval occured 2260 PE ... L=PAUSE "..." new=... last=... 2261 </td><td style="vertical-align: top;"><br> 2262 </td> 2263 1901 2264 1902 2265 </tr> … … 1906 2269 <td style="vertical-align: top;"><a name="PA0177"></a>PA0177</td> 1907 2270 1908 <td> 1909 <p>negative time interval occured 1910 PE ... L=STOP "..." new=... last=... isum=...</p> 1911 </td> 2271 <td style="vertical-align: top;"> 2272 negative time interval occured 2273 PE ... L=STOP "..." new=... last=... isum=... 2274 </td><td style="vertical-align: top;"><br> 2275 </td> 2276 1912 2277 1913 2278 </tr> … … 1917 2282 <td style="vertical-align: top;"><a name="PA0178"></a>PA0178</td> 1918 2283 1919 <td> 1920 <p>negative time interval occured 1921 PE ... L=STOP "..." sum=... mtime=...</p> 1922 </td> 2284 <td style="vertical-align: top;"> 2285 negative time interval occured 2286 PE ... L=STOP "..." sum=... mtime=... 2287 </td><td style="vertical-align: top;"><br> 2288 </td> 2289 1923 2290 1924 2291 </tr> … … 1928 2295 <td style="vertical-align: top;"><a name="PA0179"></a>PA0179</td> 1929 2296 1930 <td> 1931 <p>unknown modus of time measurement: ...</p> 1932 </td> 2297 <td style="vertical-align: top;"> 2298 unknown modus of time measurement: ... 2299 </td><td style="vertical-align: top;"><br> 2300 </td> 2301 1933 2302 1934 2303 </tr> … … 1938 2307 <td style="vertical-align: top;"><a name="PA0180"></a>PA0180</td> 1939 2308 1940 <td> 1941 <p>unknown cross-section: ...</p> 1942 </td> 2309 <td style="vertical-align: top;"> 2310 unknown cross-section: ... 2311 </td><td style="vertical-align: top;"><br> 2312 </td> 2313 1943 2314 1944 2315 </tr> … … 1948 2319 <td style="vertical-align: top;"><a name="PA0181"></a>PA0181</td> 1949 2320 1950 <td> 1951 <p>no output provided for: ...</p> 1952 </td> 2321 <td style="vertical-align: top;"> 2322 no output provided for: ... 2323 </td><td style="vertical-align: top;"><br> 2324 </td> 2325 1953 2326 1954 2327 </tr> … … 1958 2331 <td style="vertical-align: top;"><a name="PA0182"></a>PA0182</td> 1959 2332 1960 <td> 1961 <p>no output available for: ...</p> 1962 </td> 2333 <td style="vertical-align: top;"> 2334 no output available for: ... 2335 </td><td style="vertical-align: top;"><br> 2336 </td> 2337 1963 2338 1964 2339 </tr> … … 1968 2343 <td style="vertical-align: top;"><a name="PA0183"></a>PA0183</td> 1969 2344 1970 <td> 1971 <p>if humidity/passive_scalar = FALSE output of ... 1972 is not provided</p> 1973 </td> 2345 <td style="vertical-align: top;"> 2346 if humidity/passive_scalar = FALSE output of ... 2347 is not provided 2348 </td><td style="vertical-align: top;"><br> 2349 </td> 2350 1974 2351 1975 2352 </tr> … … 1979 2356 <td style="vertical-align: top;"><a name="PA0184"></a>PA0184</td> 1980 2357 1981 <td> 1982 <p>if cloud_physics = FALSE output of ... is not provided</p> 1983 </td> 2358 <td style="vertical-align: top;"> 2359 if cloud_physics = FALSE output of ... is not provided 2360 </td><td style="vertical-align: top;"><br> 2361 </td> 2362 1984 2363 1985 2364 </tr> … … 1989 2368 <td style="vertical-align: top;"><a name="PA0185"></a>PA0185</td> 1990 2369 1991 <td >1992 <p>data_output_profiles: normalizing cross ...2370 <td style="vertical-align: top;"> 2371 data_output_profiles: normalizing cross ... 1993 2372 is not possible since one of the normalizing factors 1994 2373 is zero! 1995 2374 cross_normx_factor(...,...) = ... 1996 cross_normy_factor(...,...) = ...</p> 1997 </td> 2375 cross_normy_factor(...,...) = ... 2376 </td><td style="vertical-align: top;"><br> 2377 </td> 2378 1998 2379 1999 2380 </tr> … … 2003 2384 <td style="vertical-align: top;"><a name="PA0186"></a>PA0186</td> 2004 2385 2005 <td> 2006 <p>no spectra data available</p> 2007 </td> 2386 <td style="vertical-align: top;"> 2387 no spectra data available 2388 </td><td style="vertical-align: top;"><br> 2389 </td> 2390 2008 2391 2009 2392 </tr> … … 2013 2396 <td style="vertical-align: top;"><a name="PA0187"></a>PA0187</td> 2014 2397 2015 <td> 2016 <p>fft method "..." currently does not work on NEC</p> 2017 </td> 2398 <td style="vertical-align: top;"> 2399 fft method "..." currently does not work on NEC 2400 </td><td style="vertical-align: top;"><br> 2401 </td> 2402 2018 2403 2019 2404 </tr> … … 2023 2408 <td style="vertical-align: top;"><a name="PA0188"></a>PA0188</td> 2024 2409 2025 <td> 2026 <p>no system-specific fft-call available</p> 2027 </td> 2410 <td style="vertical-align: top;"> 2411 no system-specific fft-call available 2412 </td><td style="vertical-align: top;"><br> 2413 </td> 2414 2028 2415 2029 2416 </tr> … … 2033 2420 <td style="vertical-align: top;"><a name="PA0189"></a>PA0189</td> 2034 2421 2035 <td> 2036 <p>fft method "..." not available</p> 2037 </td> 2422 <td style="vertical-align: top;"> 2423 fft method "..." not available 2424 </td><td style="vertical-align: top;"><br> 2425 </td> 2426 2038 2427 2039 2428 </tr> … … 2043 2432 <td style="vertical-align: top;"><a name="PA0190"></a>PA0190</td> 2044 2433 2045 <td> 2046 <p>flow_statistics is called two times within one timestep</p> 2047 </td> 2434 <td style="vertical-align: top;"> 2435 flow_statistics is called two times within one timestep 2436 </td><td style="vertical-align: top;"><br> 2437 </td> 2438 2048 2439 2049 2440 </tr> … … 2053 2444 <td style="vertical-align: top;"><a name="PA0191"></a>PA0191</td> 2054 2445 2055 <td> 2056 <p>unknown action(s): ...</p> 2057 </td> 2446 <td style="vertical-align: top;"> 2447 unknown action(s): ... 2448 </td><td style="vertical-align: top;"><br> 2449 </td> 2450 2058 2451 2059 2452 </tr> … … 2063 2456 <td style="vertical-align: top;"><a name="PA0192"></a>PA0192</td> 2064 2457 2065 <td> 2066 <p>timestep has exceeded the lower limit dt_1d = ... s 2067 simulation stopped!</p> 2068 </td> 2458 <td style="vertical-align: top;"> 2459 timestep has exceeded the lower limit dt_1d = ... s 2460 simulation stopped! 2461 </td><td style="vertical-align: top;"><br> 2462 </td> 2463 2069 2464 2070 2465 </tr> … … 2074 2469 <td style="vertical-align: top;"><a name="PA01793"></a>PA0193</td> 2075 2470 2076 <td> 2077 <p>unknown initializing problem</p> 2078 </td> 2471 <td style="vertical-align: top;"> 2472 unknown initializing problem 2473 </td><td style="vertical-align: top;"><br> 2474 </td> 2475 2079 2476 2080 2477 </tr> … … 2084 2481 <td style="vertical-align: top;"><a name="PA0194"></a>PA0194</td> 2085 2482 2086 <td >2087 <p>number of time series quantities exceeds its maximum2483 <td style="vertical-align: top;"> 2484 number of time series quantities exceeds its maximum 2088 2485 of dots_max = ... Please increase dots_max in 2089 modules.f90.</p> 2090 </td> 2486 modules.f90. 2487 </td><td style="vertical-align: top;"><br> 2488 </td> 2489 2091 2490 2092 2491 </tr> … … 2096 2495 <td style="vertical-align: top;"><a name="PA0195"></a>PA0195</td> 2097 2496 2098 <td> 2099 <p>dvrp_username is undefined</p> 2100 </td> 2497 <td style="vertical-align: top;"> 2498 dvrp_username is undefined 2499 </td><td style="vertical-align: top;"><br> 2500 </td> 2501 2101 2502 2102 2503 </tr> … … 2106 2507 <td style="vertical-align: top;"><a name="PA0196"></a>PA0196</td> 2107 2508 2108 <td>dvrp_output="..." not allowed 2109 <p></p> 2110 </td> 2509 <td style="vertical-align: top;">dvrp_output="..." not allowed 2510 2511 </td><td style="vertical-align: top;"><br> 2512 </td> 2513 2111 2514 2112 2515 </tr> … … 2116 2519 <td style="vertical-align: top;"><a name="PA0197"></a>PA0197</td> 2117 2520 2118 <td> 2119 <p>dvrp_file="..." not allowed</p> 2120 </td> 2521 <td style="vertical-align: top;"> 2522 dvrp_file="..." not allowed 2523 </td><td style="vertical-align: top;"><br> 2524 </td> 2525 2121 2526 2122 2527 </tr> … … 2126 2531 <td style="vertical-align: top;"><a name="PA0198"></a>PA0198</td> 2127 2532 2128 <td> 2129 <p>mode_dvrp="..." not allowed</p> 2130 </td> 2533 <td style="vertical-align: top;"> 2534 mode_dvrp="..." not allowed 2535 </td><td style="vertical-align: top;"><br> 2536 </td> 2537 2131 2538 2132 2539 </tr> … … 2136 2543 <td style="vertical-align: top;"><a name="PA0199"></a>PA0199</td> 2137 2544 2138 <td> 2139 <p>split of communicator not realized with MPI1 coupling 2140 atmosphere-ocean'</p> 2141 </td> 2545 <td style="vertical-align: top;"> 2546 split of communicator not realized with MPI1 coupling 2547 atmosphere-ocean' 2548 </td><td style="vertical-align: top;"><br> 2549 </td> 2550 2142 2551 2143 2552 </tr> … … 2147 2556 <td style="vertical-align: top;"><a name="PA0200"></a>PA0200</td> 2148 2557 2149 <td> 2150 <p>missing dz</p> 2151 </td> 2558 <td style="vertical-align: top;"> 2559 missing dz 2560 </td><td style="vertical-align: top;"><br> 2561 </td> 2562 2152 2563 2153 2564 </tr> … … 2157 2568 <td style="vertical-align: top;"><a name="PA0201"></a>PA0201</td> 2158 2569 2159 <td> 2160 <p>dz=... <= 0.0</p> 2161 </td> 2570 <td style="vertical-align: top;"> 2571 dz=... <= 0.0 2572 </td><td style="vertical-align: top;"><br> 2573 </td> 2574 2162 2575 2163 2576 </tr> … … 2167 2580 <td style="vertical-align: top;"><a name="PA0202"></a>PA0202</td> 2168 2581 2169 <td >2170 <p>grid anisotropy exceeds threshold given by only local2582 <td style="vertical-align: top;"> 2583 grid anisotropy exceeds threshold given by only local 2171 2584 horizontal reduction of near_wall mixing length l_wall 2172 starting from height level k = ... .</p> 2173 </td> 2585 starting from height level k = ... . 2586 </td><td style="vertical-align: top;"><br> 2587 </td> 2588 2174 2589 2175 2590 </tr> … … 2179 2594 <td style="vertical-align: top;"><a name="PA0203"></a>PA0203</td> 2180 2595 2181 <td> 2182 <p>inconsistent building parameters: bxl=... bxr=... bys=... 2183 byn=... nx=... ny=...</p> 2184 </td> 2596 <td style="vertical-align: top;"> 2597 inconsistent building parameters: bxl=... bxr=... bys=... 2598 byn=... nx=... ny=... 2599 </td><td style="vertical-align: top;"><br> 2600 </td> 2601 2185 2602 2186 2603 </tr> … … 2190 2607 <td style="vertical-align: top;"><a name="PA0204"></a>PA0204</td> 2191 2608 2192 <td> 2193 <p>no street canyon width given</p> 2194 </td> 2609 <td style="vertical-align: top;"> 2610 no street canyon width given 2611 </td><td style="vertical-align: top;"><br> 2612 </td> 2613 2195 2614 2196 2615 </tr> … … 2200 2619 <td style="vertical-align: top;"><a name="PA0205"></a>PA0205</td> 2201 2620 2202 <td> 2203 <p>inconsistent canyon parameters: cxl=... cxr=... 2204 cwx=... ch=... nx=... ny=...</p> 2205 </td> 2621 <td style="vertical-align: top;"> 2622 inconsistent canyon parameters: cxl=... cxr=... 2623 cwx=... ch=... nx=... ny=... 2624 </td><td style="vertical-align: top;"><br> 2625 </td> 2626 2206 2627 2207 2628 </tr> … … 2211 2632 <td style="vertical-align: top;"><a name="PA0206"></a>PA0206</td> 2212 2633 2213 <td> 2214 <p>inconsistent canyon parameters:... cys=... cyn=... 2215 cwy=... ch=... nx=... ny=...</p> 2216 </td> 2634 <td style="vertical-align: top;"> 2635 inconsistent canyon parameters:... cys=... cyn=... 2636 cwy=... ch=... nx=... ny=... 2637 </td><td style="vertical-align: top;"><br> 2638 </td> 2639 2217 2640 2218 2641 </tr> … … 2222 2645 <td style="vertical-align: top;"><a name="PA0207"></a>PA0207</td> 2223 2646 2224 <td> 2225 <p>inconsistent canyon parameters: street canyon can 2226 only be oriented either in x- or in y-direction</p> 2227 </td> 2647 <td style="vertical-align: top;"> 2648 inconsistent canyon parameters: street canyon can 2649 only be oriented either in x- or in y-direction 2650 </td><td style="vertical-align: top;"><br> 2651 </td> 2652 2228 2653 2229 2654 </tr> … … 2233 2658 <td style="vertical-align: top;"><a name="PA0208"></a>PA0208</td> 2234 2659 2235 <td> 2236 <p>file TOPOGRAPHY_DATA does not exist</p> 2237 </td> 2660 <td style="vertical-align: top;"> 2661 file TOPOGRAPHY_DATA does not exist 2662 </td><td style="vertical-align: top;"><br> 2663 </td> 2664 2238 2665 2239 2666 </tr> … … 2243 2670 <td style="vertical-align: top;"><a name="PA0209"></a>PA0209</td> 2244 2671 2245 <td> 2246 <p>errors in file TOPOGRAPHY_DATA</p> 2247 </td> 2672 <td style="vertical-align: top;"> 2673 errors in file TOPOGRAPHY_DATA 2674 </td><td style="vertical-align: top;"><br> 2675 </td> 2676 2248 2677 2249 2678 </tr> … … 2253 2682 <td style="vertical-align: top;"><a name="PA0210"></a>PA0210</td> 2254 2683 2255 <td >2256 <p>nzb_local values are outside the model domain2684 <td style="vertical-align: top;"> 2685 nzb_local values are outside the model domain 2257 2686 MINVAL( nzb_local ) = ... 2258 MAXVAL( nzb_local ) = ...</p> 2259 </td> 2687 MAXVAL( nzb_local ) = ... 2688 </td><td style="vertical-align: top;"><br> 2689 </td> 2690 2260 2691 2261 2692 </tr> … … 2265 2696 <td style="vertical-align: top;"><a name="PA0211"></a>PA0211</td> 2266 2697 2267 <td> 2268 <p>nzb_local does not fulfill cyclic boundary condition 2269 in x-direction</p> 2270 </td> 2698 <td style="vertical-align: top;"> 2699 nzb_local does not fulfill cyclic boundary condition 2700 in x-direction 2701 </td><td style="vertical-align: top;"><br> 2702 </td> 2703 2271 2704 2272 2705 </tr> … … 2276 2709 <td style="vertical-align: top;"><a name="PA0212"></a>PA0212</td> 2277 2710 2278 <td> 2279 <p>nzb_local does not fulfill cyclic boundary condition 2280 in y-direction </p> 2281 </td> 2711 <td style="vertical-align: top;"> 2712 nzb_local does not fulfill cyclic boundary condition 2713 in y-direction 2714 </td><td style="vertical-align: top;"><br> 2715 </td> 2716 2282 2717 2283 2718 </tr> … … 2287 2722 <td style="vertical-align: top;"><a name="PA0213"></a>PA0213</td> 2288 2723 2289 <td> 2290 <p>max_number_of_particle_groups =... 2291 number_of_particle_groups reset to ...</p> 2292 </td> 2724 <td style="vertical-align: top;"> 2725 max_number_of_particle_groups =... 2726 number_of_particle_groups reset to ... 2727 </td><td style="vertical-align: top;"><br> 2728 </td> 2729 2293 2730 2294 2731 </tr> … … 2298 2735 <td style="vertical-align: top;"><a name="PA0214"></a>PA0214</td> 2299 2736 2300 <td >2301 <p>version mismatch concerning data from prior run2737 <td style="vertical-align: top;"> 2738 version mismatch concerning data from prior run 2302 2739 version on file = ... 2303 version in program = ...</p> 2304 </td> 2740 version in program = ... 2741 </td><td style="vertical-align: top;"><br> 2742 </td> 2743 2305 2744 2306 2745 </tr> … … 2310 2749 <td style="vertical-align: top;"><a name="PA0215"></a>PA0215</td> 2311 2750 2312 <td> 2313 <p>particle group # ... has a density ratio /= 0 2314 but radius = 0</p> 2315 </td> 2751 <td style="vertical-align: top;"> 2752 particle group # ... has a density ratio /= 0 2753 but radius = 0 2754 </td><td style="vertical-align: top;"><br> 2755 </td> 2756 2316 2757 2317 2758 </tr> … … 2321 2762 <td style="vertical-align: top;"><a name="PA0216"></a>PA0216</td> 2322 2763 2323 <td> 2324 <p>number of initial particles (...) exceeds 2325 maximum_number_of_particles (...) on PE ...</p> 2326 </td> 2764 <td style="vertical-align: top;"> 2765 number of initial particles (...) exceeds 2766 maximum_number_of_particles (...) on PE ... 2767 </td><td style="vertical-align: top;"><br> 2768 </td> 2769 2327 2770 2328 2771 </tr> … … 2332 2775 <td style="vertical-align: top;"><a name="PA0217"></a>PA0217</td> 2333 2776 2334 <td> 2335 <p>unknown boundary condition bc_par_b = "..." </p> 2336 </td> 2777 <td style="vertical-align: top;"> 2778 unknown boundary condition bc_par_b = "..." 2779 </td><td style="vertical-align: top;"><br> 2780 </td> 2781 2337 2782 2338 2783 </tr> … … 2342 2787 <td style="vertical-align: top;"><a name="PA0218"></a>PA0218</td> 2343 2788 2344 <td> 2345 <p> unknown boundary condition bc_par_t = "..."</p> 2346 </td> 2789 <td style="vertical-align: top;"> 2790 unknown boundary condition bc_par_t = "..." 2791 </td><td style="vertical-align: top;"><br> 2792 </td> 2793 2347 2794 2348 2795 </tr> … … 2352 2799 <td style="vertical-align: top;"><a name="PA0219"></a>PA0219</td> 2353 2800 2354 <td> 2355 <p>unknown boundary condition bc_par_lr = "..."</p> 2356 </td> 2801 <td style="vertical-align: top;"> 2802 unknown boundary condition bc_par_lr = "..." 2803 </td><td style="vertical-align: top;"><br> 2804 </td> 2805 2357 2806 2358 2807 </tr> … … 2362 2811 <td style="vertical-align: top;"><a name="PA0220"></a>PA0220</td> 2363 2812 2364 <td> 2365 <p>unknown boundary condition bc_par_ns = "..."</p> 2366 </td> 2813 <td style="vertical-align: top;"> 2814 unknown boundary condition bc_par_ns = "..." 2815 </td><td style="vertical-align: top;"><br> 2816 </td> 2817 2367 2818 2368 2819 </tr> … … 2372 2823 <td style="vertical-align: top;"><a name="PA0221"></a>PA0221</td> 2373 2824 2374 <td> 2375 <p>number of PEs of the prescribed topology (...) does not 2376 match the number of PEs available to the job ()</p> 2377 </td> 2825 <td style="vertical-align: top;"> 2826 number of PEs of the prescribed topology (...) does not 2827 match the number of PEs available to the job () 2828 </td><td style="vertical-align: top;"><br> 2829 </td> 2830 2378 2831 2379 2832 </tr> … … 2383 2836 <td style="vertical-align: top;"><a name="PA0222"></a>PA0222</td> 2384 2837 2385 <td >2386 <p>if the processor topology is prescribed by the user,2838 <td style="vertical-align: top;"> 2839 if the processor topology is prescribed by the user, 2387 2840 both values of "npex" and "npey" must be given 2388 in the NAMELIST-parameter file</p> 2389 </td> 2841 in the NAMELIST-parameter file 2842 </td><td style="vertical-align: top;"><br> 2843 </td> 2844 2390 2845 2391 2846 </tr> … … 2395 2850 <td style="vertical-align: top;"><a name="PA0223"></a>PA0223</td> 2396 2851 2397 <td> 2398 <p>psolver = "poisfft_hybrid" can only be used in case of 2399 a 1d-decomposition along x</p> 2400 </td> 2852 <td style="vertical-align: top;"> 2853 psolver = "poisfft_hybrid" can only be used in case of 2854 a 1d-decomposition along x 2855 </td><td style="vertical-align: top;"><br> 2856 </td> 2857 2401 2858 2402 2859 </tr> … … 2406 2863 <td style="vertical-align: top;"><a name="PA0224"></a>PA0224</td> 2407 2864 2408 <td> 2409 <p>no matching grid for transpositions found</p> 2410 </td> 2865 <td style="vertical-align: top;"> 2866 no matching grid for transpositions found 2867 </td><td style="vertical-align: top;"><br> 2868 </td> 2869 2411 2870 2412 2871 </tr> … … 2416 2875 <td style="vertical-align: top;"><a name="PA0225"></a>PA0225</td> 2417 2876 2418 <td> 2419 <p>x-direction: gridpoint number (...)is not an 2420 integral divisor of the number of procesors (...)</p> 2421 </td> 2877 <td style="vertical-align: top;"> 2878 x-direction: gridpoint number (...)is not an 2879 integral divisor of the number of procesors (...) 2880 </td><td style="vertical-align: top;"><br> 2881 </td> 2882 2422 2883 2423 2884 </tr> … … 2427 2888 <td style="vertical-align: top;"><a name="PA0226"></a>PA0226</td> 2428 2889 2429 <td >2430 <p>x-direction: nx does not match the requirements given2890 <td style="vertical-align: top;"> 2891 x-direction: nx does not match the requirements given 2431 2892 by the number of PEs used 2432 please use nx = ... instead of nx =...</p> 2433 </td> 2893 please use nx = ... instead of nx =... 2894 </td><td style="vertical-align: top;"><br> 2895 </td> 2896 2434 2897 2435 2898 </tr> … … 2439 2902 <td style="vertical-align: top;"><a name="PA0227"></a>PA0227</td> 2440 2903 2441 <td> 2442 <p>y-direction: gridpoint number (...) is not an 2443 integral divisor of the number of processors (...)</p> 2444 </td> 2904 <td style="vertical-align: top;"> 2905 y-direction: gridpoint number (...) is not an 2906 integral divisor of the number of processors (...) 2907 </td><td style="vertical-align: top;"><br> 2908 </td> 2909 2445 2910 2446 2911 </tr> … … 2450 2915 <td style="vertical-align: top;"><a name="PA0228"></a>PA0228</td> 2451 2916 2452 <td >2453 <p>y-direction: ny does not match the requirements given2917 <td style="vertical-align: top;"> 2918 y-direction: ny does not match the requirements given 2454 2919 by the number of PEs used 2455 please use ny = ... instead of ny =...</p> 2456 </td> 2920 please use ny = ... instead of ny =... 2921 </td><td style="vertical-align: top;"><br> 2922 </td> 2923 2457 2924 2458 2925 </tr> … … 2462 2929 <td style="vertical-align: top;"><a name="PA0229"></a>PA0229</td> 2463 2930 2464 <td> 2465 <p>1d-decomposition along x chosen but nz restrictions 2466 may occur since ups-scheme is activated</p> 2467 </td> 2931 <td style="vertical-align: top;"> 2932 1d-decomposition along x chosen but nz restrictions 2933 may occur since ups-scheme is activated 2934 </td><td style="vertical-align: top;"><br> 2935 </td> 2936 2468 2937 2469 2938 </tr> … … 2473 2942 <td style="vertical-align: top;"><a name="PA0230"></a>PA0230</td> 2474 2943 2475 <td> 2476 <p>transposition z --> x: 2477 nz=... is not an integral divisior of pdims(1)= ...</p> 2478 </td> 2944 <td style="vertical-align: top;"> 2945 transposition z --> x: 2946 nz=... is not an integral divisior of pdims(1)= ... 2947 </td><td style="vertical-align: top;"><br> 2948 </td> 2949 2479 2950 2480 2951 </tr> … … 2484 2955 <td style="vertical-align: top;"><a name="PA031"></a>PA0231</td> 2485 2956 2486 <td> 2487 <p>transposition x --> y: 2488 nx+1=... is not an integral divisor of pdims(2)= ... </p> 2489 </td> 2957 <td style="vertical-align: top;"> 2958 transposition x --> y: 2959 nx+1=... is not an integral divisor of pdims(2)= ... 2960 </td><td style="vertical-align: top;"><br> 2961 </td> 2962 2490 2963 2491 2964 </tr> … … 2495 2968 <td style="vertical-align: top;"><a name="PA0232"></a>PA0232</td> 2496 2969 2497 <td> 2498 <p>transposition y --> z: 2499 ny+1=... is not an integral divisor of pdims(1)=...</p> 2500 </td> 2970 <td style="vertical-align: top;"> 2971 transposition y --> z: 2972 ny+1=... is not an integral divisor of pdims(1)=... 2973 </td><td style="vertical-align: top;"><br> 2974 </td> 2975 2501 2976 2502 2977 </tr> … … 2506 2981 <td style="vertical-align: top;"><a name="PA0233"></a>PA0233</td> 2507 2982 2508 <td> 2509 <p>transposition x --> y: 2510 ny+1=... is not an integral divisor of pdims(1)=...</p> 2511 </td> 2983 <td style="vertical-align: top;"> 2984 transposition x --> y: 2985 ny+1=... is not an integral divisor of pdims(1)=... 2986 </td><td style="vertical-align: top;"><br> 2987 </td> 2988 2512 2989 2513 2990 </tr> … … 2517 2994 <td style="vertical-align: top;"><a name="PA0234"></a>PA0234</td> 2518 2995 2519 <td> 2520 <p>direct transposition z --> y (needed for spectra): 2521 nz=... is not an integral divisor of pdims(2)=...</p> 2522 </td> 2996 <td style="vertical-align: top;"> 2997 direct transposition z --> y (needed for spectra): 2998 nz=... is not an integral divisor of pdims(2)=... 2999 </td><td style="vertical-align: top;"><br> 3000 </td> 3001 2523 3002 2524 3003 </tr> … … 2528 3007 <td style="vertical-align: top;"><a name="PA0235"></a>PA0235</td> 2529 3008 2530 <td> 2531 <p>mg_switch_to_pe0_level out of range and reset to 2532 default (=0)</p> 2533 </td> 3009 <td style="vertical-align: top;"> 3010 mg_switch_to_pe0_level out of range and reset to 3011 default (=0) 3012 </td><td style="vertical-align: top;"><br> 3013 </td> 3014 2534 3015 2535 3016 </tr> … … 2539 3020 <td style="vertical-align: top;"><a name="PA0236"></a>PA0236</td> 2540 3021 2541 <td> 2542 <p>not enough memory for storing gathered multigrid data 2543 on PE0</p> 2544 </td> 3022 <td style="vertical-align: top;"> 3023 not enough memory for storing gathered multigrid data 3024 on PE0 3025 </td><td style="vertical-align: top;"><br> 3026 </td> 3027 2545 3028 2546 3029 </tr> … … 2550 3033 <td style="vertical-align: top;"><a name="PA0237"></a>PA0237</td> 2551 3034 2552 <td> 2553 <p>multigrid gather/scatter impossible in non parallel mode</p> 2554 </td> 3035 <td style="vertical-align: top;"> 3036 multigrid gather/scatter impossible in non parallel mode 3037 </td><td style="vertical-align: top;"><br> 3038 </td> 3039 2555 3040 2556 3041 </tr> … … 2560 3045 <td style="vertical-align: top;"><a name="PA0238"></a>PA0238</td> 2561 3046 2562 <td> 2563 <p>more than 10 multigrid levels</p> 2564 </td> 3047 <td style="vertical-align: top;"> 3048 more than 10 multigrid levels 3049 </td><td style="vertical-align: top;"><br> 3050 </td> 3051 2565 3052 2566 3053 </tr> … … 2570 3057 <td style="vertical-align: top;"><a name="PA0239"></a>PA0239</td> 2571 3058 2572 <td >2573 <p>The value for "topography_grid_convention" is not set.3059 <td style="vertical-align: top;"> 3060 The value for "topography_grid_convention" is not set. 2574 3061 Its default value is only valid for 2575 3062 "topography" = ''single_building'', 2576 3063 ''single_street_canyon'' or ''read_from_file'' 2577 Choose ''cell_edge'' or ''cell_center''.</p> 2578 </td> 3064 Choose ''cell_edge'' or ''cell_center''. 3065 </td><td style="vertical-align: top;"><br> 3066 </td> 3067 2579 3068 2580 3069 </tr> … … 2584 3073 <td style="vertical-align: top;"><a name="PA0240"></a>PA0240</td> 2585 3074 2586 <td> 2587 <p>The value for "topography_grid_convention" is not 2588 recognized. Choose ''cell_edge'' or ''cell_center''.</p> 2589 </td> 3075 <td style="vertical-align: top;"> 3076 The value for "topography_grid_convention" is not 3077 recognized. Choose ''cell_edge'' or ''cell_center''. 3078 </td><td style="vertical-align: top;"><br> 3079 </td> 3080 2590 3081 2591 3082 </tr> … … 2595 3086 <td style="vertical-align: top;"><a name="PA0241"></a>PA0241</td> 2596 3087 2597 <td> 2598 <p>netcdf_precision must contain a "_" 2599 netcdf_precision(...)="..."</p> 2600 </td> 3088 <td style="vertical-align: top;"> 3089 netcdf_precision must contain a "_" 3090 netcdf_precision(...)="..." 3091 </td><td style="vertical-align: top;"><br> 3092 </td> 3093 2601 3094 2602 3095 </tr> … … 2606 3099 <td style="vertical-align: top;"><a name="PA0242"></a>PA0242</td> 2607 3100 2608 <td> 2609 <p>illegal netcdf precision: netcdf_precision( ...)="..."</p> 2610 </td> 3101 <td style="vertical-align: top;"> 3102 illegal netcdf precision: netcdf_precision( ...)="..." 3103 </td><td style="vertical-align: top;"><br> 3104 </td> 3105 2611 3106 2612 3107 </tr> … … 2616 3111 <td style="vertical-align: top;"><a name="PA0243"></a>PA0243</td> 2617 3112 2618 <td> 2619 <p>unknown variable in inipar assignment: 2620 netcdf_precision(', i, ')="..."</p> 2621 </td> 3113 <td style="vertical-align: top;"> 3114 unknown variable in inipar assignment: 3115 netcdf_precision(', i, ')="..." 3116 </td><td style="vertical-align: top;"><br> 3117 </td> 3118 2622 3119 2623 3120 </tr> … … 2627 3124 <td style="vertical-align: top;"><a name="PA0244"></a>PA0244</td> 2628 3125 2629 <td> 2630 <p>no grid defined for variable ...</p> 2631 </td> 3126 <td style="vertical-align: top;"> 3127 no grid defined for variable ... 3128 </td><td style="vertical-align: top;"><br> 3129 </td> 3130 2632 3131 2633 3132 </tr> … … 2637 3136 <td style="vertical-align: top;"><a name="PA0245"></a>PA0245</td> 2638 3137 2639 <td >2640 <p>NetCDF file for volume data ... from previuos run found,3138 <td style="vertical-align: top;"> 3139 NetCDF file for volume data ... from previuos run found, 2641 3140 but this file cannot be extended due to variable 2642 3141 mismatch. 2643 New file is created instead.</p> 2644 </td> 3142 New file is created instead. 3143 </td><td style="vertical-align: top;"><br> 3144 </td> 3145 2645 3146 2646 3147 </tr> … … 2650 3151 <td style="vertical-align: top;"><a name="PA0246"></a>PA0246</td> 2651 3152 2652 <td >2653 <p>NetCDF file for volume data ... from previuos run found,3153 <td style="vertical-align: top;"> 3154 NetCDF file for volume data ... from previuos run found, 2654 3155 but this file cannot be extended due to mismatch in 2655 3156 number of vertical grid points (nz_do3d). 2656 New file is created instead.</p> 2657 </td> 3157 New file is created instead. 3158 </td><td style="vertical-align: top;"><br> 3159 </td> 3160 2658 3161 2659 3162 </tr> … … 2663 3166 <td style="vertical-align: top;"><a name="PA0247"></a>PA0247</td> 2664 3167 2665 <td >2666 <p>NetCDF file for volume data ... from previuos run found,3168 <td style="vertical-align: top;"> 3169 NetCDF file for volume data ... from previuos run found, 2667 3170 but this file cannot be extended because the current 2668 3171 output time is less or equal than the last output time 2669 on this file. New file is created instead.</p> 2670 </td> 3172 on this file. New file is created instead. 3173 </td><td style="vertical-align: top;"><br> 3174 </td> 3175 2671 3176 2672 3177 </tr> … … 2676 3181 <td style="vertical-align: top;"><a name="PA0248"></a>PA0248</td> 2677 3182 2678 <td> 2679 <p>NetCDF file for volume data ... from previous run found. 2680 This file will be extended.</p> 2681 </td> 3183 <td style="vertical-align: top;"> 3184 NetCDF file for volume data ... from previous run found. 3185 This file will be extended. 3186 </td><td style="vertical-align: top;"><br> 3187 </td> 3188 2682 3189 2683 3190 </tr> … … 2687 3194 <td style="vertical-align: top;"><a name="PA0249"></a>PA0249</td> 2688 3195 2689 <td >2690 <p>NetCDF file for cross-sections ... from previuos run3196 <td style="vertical-align: top;"> 3197 NetCDF file for cross-sections ... from previuos run 2691 3198 found, but this file cannot be extended due to 2692 variable mismatch. New file is created instead.</p> 2693 </td> 3199 variable mismatch. New file is created instead. 3200 </td><td style="vertical-align: top;"><br> 3201 </td> 3202 2694 3203 2695 3204 </tr> … … 2699 3208 <td style="vertical-align: top;"><a name="PA0250"></a>PA0250</td> 2700 3209 2701 <td >2702 <p>NetCDF file for cross-sections ... from previuos run3210 <td style="vertical-align: top;"> 3211 NetCDF file for cross-sections ... from previuos run 2703 3212 found, but this file cannot be extended due to 2704 3213 mismatch in number of cross sections. New file 2705 is created instead.</p> 2706 </td> 3214 is created instead. 3215 </td><td style="vertical-align: top;"><br> 3216 </td> 3217 2707 3218 2708 3219 </tr> … … 2712 3223 <td style="vertical-align: top;"><a name="PA0251"></a>PA0251</td> 2713 3224 2714 <td >2715 <p>NetCDF file for cross-sections ... from previuos run3225 <td style="vertical-align: top;"> 3226 NetCDF file for cross-sections ... from previuos run 2716 3227 found but this file cannot be extended due to mismatch 2717 in cross section levels. New file is created instead.</p> 2718 </td> 3228 in cross section levels. New file is created instead. 3229 </td><td style="vertical-align: top;"><br> 3230 </td> 3231 2719 3232 2720 3233 </tr> … … 2724 3237 <td style="vertical-align: top;"><a name="PA0252"></a>PA0252</td> 2725 3238 2726 <td >2727 <p>NetCDF file for cross sections ... from previuos run3239 <td style="vertical-align: top;"> 3240 NetCDF file for cross sections ... from previuos run 2728 3241 found, but this file cannot be extended because the 2729 3242 current output time is less or equal than the last 2730 output time on this file. New file is created instead.</p> 2731 </td> 3243 output time on this file. New file is created instead. 3244 </td><td style="vertical-align: top;"><br> 3245 </td> 3246 2732 3247 2733 3248 </tr> … … 2737 3252 <td style="vertical-align: top;"><a name="PA0253"></a>PA0253</td> 2738 3253 2739 <td> 2740 <p>NetCDF file for cross-sections ... from previous run 2741 found. This file will be extended.</p> 2742 </td> 3254 <td style="vertical-align: top;"> 3255 NetCDF file for cross-sections ... from previous run 3256 found. This file will be extended. 3257 </td><td style="vertical-align: top;"><br> 3258 </td> 3259 2743 3260 2744 3261 </tr> … … 2748 3265 <td style="vertical-align: top;"><a name="PA0254"></a>PA0254</td> 2749 3266 2750 <td >2751 <p>NetCDF file for vertical profiles from previuos run3267 <td style="vertical-align: top;"> 3268 NetCDF file for vertical profiles from previuos run 2752 3269 found, but this file cannot be extended due to variable 2753 mismatch. New file is created instead. </p> 2754 </td> 3270 mismatch. New file is created instead. 3271 </td><td style="vertical-align: top;"><br> 3272 </td> 3273 2755 3274 2756 3275 </tr> … … 2760 3279 <td style="vertical-align: top;"><a name="PA0255"></a>PA0255</td> 2761 3280 2762 <td >2763 <p>NetCDF file for vertical profiles from previuos run3281 <td style="vertical-align: top;"> 3282 NetCDF file for vertical profiles from previuos run 2764 3283 found, but this file cannot be extended because the 2765 3284 current output time is less or equal than the last 2766 output time on this file. New file is created instead.</p> 2767 </td> 3285 output time on this file. New file is created instead. 3286 </td><td style="vertical-align: top;"><br> 3287 </td> 3288 2768 3289 2769 3290 </tr> … … 2773 3294 <td style="vertical-align: top;"><a name="PA0256"></a>PA0256</td> 2774 3295 2775 <td> 2776 <p>NetCDF file for vertical profiles from previous run 2777 found. This file will be extended.</p> 2778 </td> 3296 <td style="vertical-align: top;"> 3297 NetCDF file for vertical profiles from previous run 3298 found. This file will be extended. 3299 </td><td style="vertical-align: top;"><br> 3300 </td> 3301 2779 3302 2780 3303 </tr> … … 2784 3307 <td style="vertical-align: top;"><a name="PA0257"></a>PA0257</td> 2785 3308 2786 <td> 2787 <p>NetCDF file for vertical profiles from previous run 2788 found. This file will be extended.</p> 2789 </td> 3309 <td style="vertical-align: top;"> 3310 NetCDF file for vertical profiles from previous run 3311 found. This file will be extended. 3312 </td><td style="vertical-align: top;"><br> 3313 </td> 3314 2790 3315 2791 3316 </tr> … … 2795 3320 <td style="vertical-align: top;"><a name="PA0258"></a>PA0258</td> 2796 3321 2797 <td >2798 <p>NetCDF file for time series from previuos run found,3322 <td style="vertical-align: top;"> 3323 NetCDF file for time series from previuos run found, 2799 3324 but this file cannot be extended because the current 2800 3325 output time is less or equal than the last output time 2801 on this file. New file is created instead.</p> 2802 </td> 3326 on this file. New file is created instead. 3327 </td><td style="vertical-align: top;"><br> 3328 </td> 3329 2803 3330 2804 3331 </tr> … … 2808 3335 <td style="vertical-align: top;"><a name="PA0259"></a>PA0259</td> 2809 3336 2810 <td> 2811 <p>NetCDF file for time series from previous run found. 2812 This file will be extended.</p> 2813 </td> 3337 <td style="vertical-align: top;"> 3338 NetCDF file for time series from previous run found. 3339 This file will be extended. 3340 </td><td style="vertical-align: top;"><br> 3341 </td> 3342 2814 3343 2815 3344 </tr> … … 2819 3348 <td style="vertical-align: top;"><a name="PA0260"></a>PA0260</td> 2820 3349 2821 <td >2822 <p>NetCDF file for spectra from previuos run found,3350 <td style="vertical-align: top;"> 3351 NetCDF file for spectra from previuos run found, 2823 3352 but this file cannot be extended due to variable 2824 mismatch. New file is created instead.</p> 2825 </td> 3353 mismatch. New file is created instead. 3354 </td><td style="vertical-align: top;"><br> 3355 </td> 3356 2826 3357 2827 3358 </tr> … … 2831 3362 <td style="vertical-align: top;"><a name="PA0261"></a>PA0261</td> 2832 3363 2833 <td >2834 <p>NetCDF file for spectra from previuos run found,3364 <td style="vertical-align: top;"> 3365 NetCDF file for spectra from previuos run found, 2835 3366 but this file cannot be extended due to mismatch in 2836 number of vertical levels. New file is created instead. </p> 2837 </td> 3367 number of vertical levels. New file is created instead. 3368 </td><td style="vertical-align: top;"><br> 3369 </td> 3370 2838 3371 2839 3372 </tr> … … 2843 3376 <td style="vertical-align: top;"><a name="PA0262"></a>PA0262</td> 2844 3377 2845 <td >2846 <p>NetCDF file for spectra from previuos run found,3378 <td style="vertical-align: top;"> 3379 NetCDF file for spectra from previuos run found, 2847 3380 but this file cannot be extended due to mismatch in 2848 heights of vertical levels. New file is created instead.</p> 2849 </td> 3381 heights of vertical levels. New file is created instead. 3382 </td><td style="vertical-align: top;"><br> 3383 </td> 3384 2850 3385 2851 3386 </tr> … … 2855 3390 <td style="vertical-align: top;"><a name="PA0263"></a>PA0263</td> 2856 3391 2857 <td >2858 <p>NetCDF file for spectra from previuos run found,3392 <td style="vertical-align: top;"> 3393 NetCDF file for spectra from previuos run found, 2859 3394 but this file cannot be extended because the current 2860 3395 output time is less or equal than the last output time 2861 on this file. New file is created instead.</p> 2862 </td> 3396 on this file. New file is created instead. 3397 </td><td style="vertical-align: top;"><br> 3398 </td> 3399 2863 3400 2864 3401 </tr> … … 2868 3405 <td style="vertical-align: top;"><a name="PA0264"></a>PA0264</td> 2869 3406 2870 <td> 2871 <p>NetCDF file for spectra from previous run found. 2872 This file will be extended.</p> 2873 </td> 3407 <td style="vertical-align: top;"> 3408 NetCDF file for spectra from previous run found. 3409 This file will be extended. 3410 </td><td style="vertical-align: top;"><br> 3411 </td> 3412 2874 3413 2875 3414 </tr> … … 2879 3418 <td style="vertical-align: top;"><a name="PA0265"></a>PA0265</td> 2880 3419 2881 <td >2882 <p>NetCDF file for particles from previuos run found,3420 <td style="vertical-align: top;"> 3421 NetCDF file for particles from previuos run found, 2883 3422 but this file cannot be extended because the current 2884 3423 output time is less or equal than the last output time 2885 on this file. New file is created instead.</p> 2886 </td> 3424 on this file. New file is created instead. 3425 </td><td style="vertical-align: top;"><br> 3426 </td> 3427 2887 3428 2888 3429 </tr> … … 2892 3433 <td style="vertical-align: top;"><a name="PA0266"></a>PA0266</td> 2893 3434 2894 <td> 2895 <p>NetCDF file for particles from previous run found. 2896 This file will be extended.</p> 2897 </td> 3435 <td style="vertical-align: top;"> 3436 NetCDF file for particles from previous run found. 3437 This file will be extended. 3438 </td><td style="vertical-align: top;"><br> 3439 </td> 3440 2898 3441 2899 3442 </tr> … … 2903 3446 <td style="vertical-align: top;"><a name="PA0267"></a>PA0267</td> 2904 3447 2905 <td >2906 <p>NetCDF file for particle time series from previuos run3448 <td style="vertical-align: top;"> 3449 NetCDF file for particle time series from previuos run 2907 3450 found, but this file cannot be extended due to 2908 variable mismatch. New file is created instead.</p> 2909 </td> 3451 variable mismatch. New file is created instead. 3452 </td><td style="vertical-align: top;"><br> 3453 </td> 3454 2910 3455 2911 3456 </tr> … … 2915 3460 <td style="vertical-align: top;"><a name="PA0268"></a>PA0268</td> 2916 3461 2917 <td >2918 <p>NetCDF file for particle time series from previuos run3462 <td style="vertical-align: top;"> 3463 NetCDF file for particle time series from previuos run 2919 3464 found, but this file cannot be extended because the 2920 3465 current output time is less or equal than the last 2921 output time on this file. New file is created instead.</p> 2922 </td> 3466 output time on this file. New file is created instead. 3467 </td><td style="vertical-align: top;"><br> 3468 </td> 3469 2923 3470 2924 3471 </tr> … … 2928 3475 <td style="vertical-align: top;"><a name="PA0269"></a>PA0269</td> 2929 3476 2930 <td> 2931 <p>NetCDF file for particle time series from previous run 2932 found. This file will be extended.</p> 2933 </td> 3477 <td style="vertical-align: top;"> 3478 NetCDF file for particle time series from previous run 3479 found. This file will be extended. 3480 </td><td style="vertical-align: top;"><br> 3481 </td> 3482 2934 3483 2935 3484 </tr> … … 2939 3488 <td style="vertical-align: top;"><a name="PA0270"></a>PA0270</td> 2940 3489 2941 <td> 2942 <p>mode "..." not supported</p> 2943 </td> 3490 <td style="vertical-align: top;"> 3491 mode "..." not supported 3492 </td><td style="vertical-align: top;"><br> 3493 </td> 3494 2944 3495 2945 3496 </tr> … … 2949 3500 <td style="vertical-align: top;"><a name="PA0271"></a>PA0271</td> 2950 3501 2951 <td> 2952 <p>errors in \$inipar ∨ no \$inipar-namelist found 2953 (CRAY-machines only)</p> 2954 </td> 3502 <td style="vertical-align: top;"> 3503 errors in \$inipar ∨ no \$inipar-namelist found 3504 (CRAY-machines only) 3505 </td><td style="vertical-align: top;"><br> 3506 </td> 3507 2955 3508 2956 3509 </tr> … … 2960 3513 <td style="vertical-align: top;"><a name="PA0272"></a>PA0272</td> 2961 3514 2962 <td> 2963 <p> no \$inipar-namelist found</p> 2964 </td> 3515 <td style="vertical-align: top;"> 3516 no \$inipar-namelist found 3517 </td><td style="vertical-align: top;"><br> 3518 </td> 3519 2965 3520 2966 3521 </tr> … … 2970 3525 <td style="vertical-align: top;"><a name="PA0273"></a>PA0273</td> 2971 3526 2972 <td> 2973 <p>no value or wrong value given for nx: nx=...</p> 2974 </td> 3527 <td style="vertical-align: top;"> 3528 no value or wrong value given for nx: nx=... 3529 </td><td style="vertical-align: top;"><br> 3530 </td> 3531 2975 3532 2976 3533 </tr> … … 2980 3537 <td style="vertical-align: top;"><a name="PA0274"></a>PA0274</td> 2981 3538 2982 <td> 2983 <p>no value or wrong value given for ny: ny=...</p> 2984 </td> 3539 <td style="vertical-align: top;"> 3540 no value or wrong value given for ny: ny=... 3541 </td><td style="vertical-align: top;"><br> 3542 </td> 3543 2985 3544 2986 3545 </tr> … … 2990 3549 <td style="vertical-align: top;"><a name="PA0275"></a>PA0275</td> 2991 3550 2992 <td> 2993 <p>no value or wrong value given for nz: nz=...</p> 2994 </td> 3551 <td style="vertical-align: top;"> 3552 no value or wrong value given for nz: nz=... 3553 </td><td style="vertical-align: top;"><br> 3554 </td> 3555 2995 3556 2996 3557 </tr> … … 3000 3561 <td style="vertical-align: top;"><a name="PA0276"></a>PA0276</td> 3001 3562 3002 <td> 3003 <p>local file ENVPAR not found 3004 some variables for steering may not be properly set</p> 3005 </td> 3563 <td style="vertical-align: top;"> 3564 local file ENVPAR not found 3565 some variables for steering may not be properly set 3566 </td><td style="vertical-align: top;"><br> 3567 </td> 3568 3006 3569 3007 3570 </tr> … … 3011 3574 <td style="vertical-align: top;"><a name="PA0277"></a>PA0277</td> 3012 3575 3013 <td> 3014 <p>errors in local file ENVPAR 3015 some variables for steering may not be properly set</p> 3016 </td> 3576 <td style="vertical-align: top;"> 3577 errors in local file ENVPAR 3578 some variables for steering may not be properly set 3579 </td><td style="vertical-align: top;"><br> 3580 </td> 3581 3017 3582 3018 3583 </tr> … … 3022 3587 <td style="vertical-align: top;"><a name="PA0278"></a>PA0278</td> 3023 3588 3024 <td> 3025 <p>no envpar-NAMELIST found in local file ENVPAR 3026 some variables for steering may not be properly set</p> 3027 </td> 3589 <td style="vertical-align: top;"> 3590 no envpar-NAMELIST found in local file ENVPAR 3591 some variables for steering may not be properly set 3592 </td><td style="vertical-align: top;"><br> 3593 </td> 3594 3028 3595 3029 3596 </tr> … … 3033 3600 <td style="vertical-align: top;"><a name="PA0279"></a>PA0279</td> 3034 3601 3035 <td> 3036 <p> wrong component: ...</p> 3037 </td> 3602 <td style="vertical-align: top;"> 3603 wrong component: ... 3604 </td><td style="vertical-align: top;"><br> 3605 </td> 3606 3038 3607 3039 3608 </tr> … … 3043 3612 <td style="vertical-align: top;"><a name="PA0280"></a>PA0280</td> 3044 3613 3045 <td> 3046 <p>Number of OpenMP threads = ...</p> 3047 </td> 3614 <td style="vertical-align: top;"> 3615 Number of OpenMP threads = ... 3616 </td><td style="vertical-align: top;"><br> 3617 </td> 3618 3048 3619 3049 3620 </tr> … … 3053 3624 <td style="vertical-align: top;"><a name="PA0281"></a>PA0281</td> 3054 3625 3055 <td >3056 <p>running optimized multinode version3626 <td style="vertical-align: top;"> 3627 running optimized multinode version 3057 3628 switch_per_lpar = ... 3058 3629 tasks_per_lpar = ... 3059 tasks_per_logical_node = ...</p> 3060 </td> 3630 tasks_per_logical_node = ... 3631 </td><td style="vertical-align: top;"><br> 3632 </td> 3633 3061 3634 3062 3635 </tr> … … 3066 3639 <td style="vertical-align: top;"><a name="PA0282"></a>PA0282</td> 3067 3640 3068 <td> 3069 <p>parallel environment (MPI) required</p> 3070 </td> 3641 <td style="vertical-align: top;"> 3642 parallel environment (MPI) required 3643 </td><td style="vertical-align: top;"><br> 3644 </td> 3645 3071 3646 3072 3647 </tr> … … 3076 3651 <td style="vertical-align: top;"><a name="PA0283"></a>PA0283</td> 3077 3652 3078 <td> 3079 <p>no sufficient convergence within 1000 cycles</p> 3080 </td> 3653 <td style="vertical-align: top;"> 3654 no sufficient convergence within 1000 cycles 3655 </td><td style="vertical-align: top;"><br> 3656 </td> 3657 3081 3658 3082 3659 </tr> … … 3086 3663 <td style="vertical-align: top;"><a name="PA0284"></a>PA0284</td> 3087 3664 3088 <td> 3089 <p>data from subdomain of previous run mapped more 3090 than 1000 times</p> 3091 </td> 3665 <td style="vertical-align: top;"> 3666 data from subdomain of previous run mapped more 3667 than 1000 times 3668 </td><td style="vertical-align: top;"><br> 3669 </td> 3670 3092 3671 3093 3672 </tr> … … 3097 3676 <td style="vertical-align: top;"><a name="PA0285"></a>PA0285</td> 3098 3677 3099 <td> 3100 <p>number of PEs or virtual PE-grid changed in restart run 3101 PE ... will read from files ...</p> 3102 </td> 3678 <td style="vertical-align: top;"> 3679 number of PEs or virtual PE-grid changed in restart run 3680 PE ... will read from files ... 3681 </td><td style="vertical-align: top;"><br> 3682 </td> 3683 3103 3684 3104 3685 </tr> … … 3108 3689 <td style="vertical-align: top;"><a name="PA0286"></a>PA0286</td> 3109 3690 3110 <td >3111 <p>version mismatch concerning data from prior run3691 <td style="vertical-align: top;"> 3692 version mismatch concerning data from prior run 3112 3693 version on file = "..." 3113 version in program = "..."</p> 3114 </td> 3694 version in program = "..." 3695 </td><td style="vertical-align: top;"><br> 3696 </td> 3697 3115 3698 3116 3699 </tr> … … 3120 3703 <td style="vertical-align: top;"><a name="PA0287"></a>PA0287</td> 3121 3704 3122 <td >3123 <p>problem with index bound nxl on restart file "..."3705 <td style="vertical-align: top;"> 3706 problem with index bound nxl on restart file "..." 3124 3707 nxl = ... but it should be = ... from the index bound 3125 information array</p> 3126 </td> 3708 information array 3709 </td><td style="vertical-align: top;"><br> 3710 </td> 3711 3127 3712 3128 3713 </tr> … … 3132 3717 <td style="vertical-align: top;"><a name="PA0288"></a>PA0288</td> 3133 3718 3134 <td >3135 <p>problem with index bound nxr on restart file "..."3719 <td style="vertical-align: top;"> 3720 problem with index bound nxr on restart file "..." 3136 3721 nxr = ... but it should be = ... from the index bound 3137 information array</p> 3138 </td> 3722 information array 3723 </td><td style="vertical-align: top;"><br> 3724 </td> 3725 3139 3726 3140 3727 </tr> … … 3144 3731 <td style="vertical-align: top;"><a name="PA0289"></a>PA0289</td> 3145 3732 3146 <td >3147 <p>problem with index bound nys on restart file "..."3733 <td style="vertical-align: top;"> 3734 problem with index bound nys on restart file "..." 3148 3735 nys = .. but it should be = ... from the index bound 3149 information array</p> 3150 </td> 3736 information array 3737 </td><td style="vertical-align: top;"><br> 3738 </td> 3739 3151 3740 3152 3741 </tr> … … 3156 3745 <td style="vertical-align: top;"><a name="PA0290"></a>PA0290</td> 3157 3746 3158 <td >3159 <p>problem with index bound nyn on restart file "..."3747 <td style="vertical-align: top;"> 3748 problem with index bound nyn on restart file "..." 3160 3749 nyn = ... but it should be = ... from the index bound 3161 information array</p> 3162 </td> 3750 information array 3751 </td><td style="vertical-align: top;"><br> 3752 </td> 3753 3163 3754 3164 3755 </tr> … … 3168 3759 <td style="vertical-align: top;"><a name="PA0291"></a>PA0291</td> 3169 3760 3170 <td >3171 <p>mismatch between actual data and data3761 <td style="vertical-align: top;"> 3762 mismatch between actual data and data 3172 3763 from prior run on PE ... 3173 3764 nzb on file = ... 3174 nzb = ...</p> 3175 </td> 3765 nzb = ... 3766 </td><td style="vertical-align: top;"><br> 3767 </td> 3768 3176 3769 3177 3770 </tr> … … 3181 3774 <td style="vertical-align: top;"><a name="PA0292"></a>PA0292</td> 3182 3775 3183 <td >3184 <p>mismatch between actual data and data3776 <td style="vertical-align: top;"> 3777 mismatch between actual data and data 3185 3778 from prior run on PE ... 3186 3779 nzt on file = ... 3187 nzt = ...</p> 3188 </td> 3780 nzt = ... 3781 </td><td style="vertical-align: top;"><br> 3782 </td> 3783 3189 3784 3190 3785 </tr> … … 3194 3789 <td style="vertical-align: top;"><a name="PA0293"></a>PA0293</td> 3195 3790 3196 <td >3197 <p>read_3d_binary: spectrum_x3791 <td style="vertical-align: top;"> 3792 read_3d_binary: spectrum_x 3198 3793 on restart file ignored because total numbers of 3199 grid points (nx) do not match</p> 3200 </td> 3794 grid points (nx) do not match 3795 </td><td style="vertical-align: top;"><br> 3796 </td> 3797 3201 3798 3202 3799 </tr> … … 3206 3803 <td style="vertical-align: top;"><a name="PA0294"></a>PA0294</td> 3207 3804 3208 <td >3209 <p>read_3d_binary: spectrum_y3805 <td style="vertical-align: top;"> 3806 read_3d_binary: spectrum_y 3210 3807 on restart file ignored because total numbers of 3211 3808 grid points (ny) do not match 3212 </p> 3213 </td> 3809 3810 </td><td style="vertical-align: top;"><br> 3811 </td> 3812 3214 3813 3215 3814 </tr> … … 3219 3818 <td style="vertical-align: top;"><a name="PA0295"></a>PA0295</td> 3220 3819 3221 <td> 3222 <p>unknown field named "..." found in data from 3223 prior run on PE ...</p> 3224 </td> 3820 <td style="vertical-align: top;"> 3821 unknown field named "..." found in data from 3822 prior run on PE ... 3823 </td><td style="vertical-align: top;"><br> 3824 </td> 3825 3225 3826 3226 3827 </tr> … … 3230 3831 <td style="vertical-align: top;"><a name="PA0296"></a>PA0296</td> 3231 3832 3232 <td >3233 <p>version mismatch concerning control variables3833 <td style="vertical-align: top;"> 3834 version mismatch concerning control variables 3234 3835 version on file = "..." 3235 version on program = "..."</p> 3236 </td> 3836 version on program = "..." 3837 </td><td style="vertical-align: top;"><br> 3838 </td> 3839 3237 3840 3238 3841 </tr> … … 3242 3845 <td style="vertical-align: top;"><a name="PA0297"></a>PA0297</td> 3243 3846 3244 <td> 3245 <p>numprocs not found in data from prior run on PE ...</p> 3246 </td> 3847 <td style="vertical-align: top;"> 3848 numprocs not found in data from prior run on PE ... 3849 </td><td style="vertical-align: top;"><br> 3850 </td> 3851 3247 3852 3248 3853 </tr> … … 3252 3857 <td style="vertical-align: top;"><a name="PA0298"></a>PA0298</td> 3253 3858 3254 <td> 3255 <p>hor_index_bounds not found in data from prior 3256 run on PE ...</p> 3257 </td> 3859 <td style="vertical-align: top;"> 3860 hor_index_bounds not found in data from prior 3861 run on PE ... 3862 </td><td style="vertical-align: top;"><br> 3863 </td> 3864 3258 3865 3259 3866 </tr> … … 3263 3870 <td style="vertical-align: top;"><a name="PA0299"></a>PA0299</td> 3264 3871 3265 <td> 3266 <p>nz not found in data from prior run on PE ...</p> 3267 </td> 3872 <td style="vertical-align: top;"> 3873 nz not found in data from prior run on PE ... 3874 </td><td style="vertical-align: top;"><br> 3875 </td> 3876 3268 3877 3269 3878 </tr> … … 3273 3882 <td style="vertical-align: top;"><a name="PA0300"></a>PA0300</td> 3274 3883 3275 <td> 3276 <p>max_pr_user not found in data from prior run on PE ...</p> 3277 </td> 3884 <td style="vertical-align: top;"> 3885 max_pr_user not found in data from prior run on PE ... 3886 </td><td style="vertical-align: top;"><br> 3887 </td> 3888 3278 3889 3279 3890 </tr> … … 3283 3894 <td style="vertical-align: top;"><a name="PA0301"></a>PA0301</td> 3284 3895 3285 <td> 3286 <p>statistic_regions not found in data from prior 3287 run on PE ...</p> 3288 </td> 3896 <td style="vertical-align: top;"> 3897 statistic_regions not found in data from prior 3898 run on PE ... 3899 </td><td style="vertical-align: top;"><br> 3900 </td> 3901 3289 3902 3290 3903 </tr> … … 3294 3907 <td style="vertical-align: top;"><a name="PA0302"></a>PA0302</td> 3295 3908 3296 <td> 3297 <p>unknown variable named "..." found in data from 3298 prior run on PE ...</p> 3299 </td> 3909 <td style="vertical-align: top;"> 3910 unknown variable named "..." found in data from 3911 prior run on PE ... 3912 </td><td style="vertical-align: top;"><br> 3913 </td> 3914 3300 3915 3301 3916 </tr> … … 3305 3920 <td style="vertical-align: top;"><a name="PA0303"></a>PA0303</td> 3306 3921 3307 <td> 3308 <p>nz not found in restart data file</p> 3309 </td> 3922 <td style="vertical-align: top;"> 3923 nz not found in restart data file 3924 </td><td style="vertical-align: top;"><br> 3925 </td> 3926 3310 3927 3311 3928 </tr> … … 3315 3932 <td style="vertical-align: top;"><a name="PA0304"></a>PA0304</td> 3316 3933 3317 <td >3318 <p>mismatch concerning number of gridpoints along z3934 <td style="vertical-align: top;"> 3935 mismatch concerning number of gridpoints along z 3319 3936 nz on file = "..." 3320 nz from run = "..."</p> 3321 </td> 3937 nz from run = "..." 3938 </td><td style="vertical-align: top;"><br> 3939 </td> 3940 3322 3941 3323 3942 </tr> … … 3327 3946 <td style="vertical-align: top;"><a name="PA0305"></a>PA0305</td> 3328 3947 3329 <td> 3330 <p>max_pr_user not found in restart data file</p> 3331 </td> 3948 <td style="vertical-align: top;"> 3949 max_pr_user not found in restart data file 3950 </td><td style="vertical-align: top;"><br> 3951 </td> 3952 3332 3953 3333 3954 </tr> … … 3337 3958 <td style="vertical-align: top;"><a name="PA0306"></a>PA0306</td> 3338 3959 3339 <td >3340 <p>number of user profiles on restart data file differs3960 <td style="vertical-align: top;"> 3961 number of user profiles on restart data file differs 3341 3962 from the current run 3342 3963 max_pr_user on file = "..." 3343 max_pr_user from run = "..."</p> 3344 </td> 3964 max_pr_user from run = "..." 3965 </td><td style="vertical-align: top;"><br> 3966 </td> 3967 3345 3968 3346 3969 </tr> … … 3350 3973 <td style="vertical-align: top;"><a name="PA0307"></a>PA0307</td> 3351 3974 3352 <td> 3353 <p>statistic_regions not found in restart data file</p> 3354 </td> 3975 <td style="vertical-align: top;"> 3976 statistic_regions not found in restart data file 3977 </td><td style="vertical-align: top;"><br> 3978 </td> 3979 3355 3980 3356 3981 </tr> … … 3360 3985 <td style="vertical-align: top;"><a name="PA0308"></a>PA0308</td> 3361 3986 3362 <td >3363 <p>statistic regions on restart data file differ3987 <td style="vertical-align: top;"> 3988 statistic regions on restart data file differ 3364 3989 from the current run 3365 3990 statistic regions on file = "..." 3366 3991 statistic regions from run = "..." 3367 statistic data may be lost!</p> 3368 </td> 3992 statistic data may be lost! 3993 </td><td style="vertical-align: top;"><br> 3994 </td> 3995 3369 3996 3370 3997 </tr> … … 3374 4001 <td style="vertical-align: top;"><a name="PA0309"></a>PA0309</td> 3375 4002 3376 <td> 3377 <p>inflow profiles not temporally averaged. 3378 Averaging will be done now using ... samples. </p> 3379 </td> 4003 <td style="vertical-align: top;"> 4004 inflow profiles not temporally averaged. 4005 Averaging will be done now using ... samples. 4006 </td><td style="vertical-align: top;"><br> 4007 </td> 4008 3380 4009 3381 4010 </tr> … … 3385 4014 <td style="vertical-align: top;"><a name="PA0310"></a>PA0310</td> 3386 4015 3387 <td >3388 <p>remote model "..." terminated with4016 <td style="vertical-align: top;"> 4017 remote model "..." terminated with 3389 4018 terminate_coupled_remote = ... 3390 local model "..." has terminate_coupled = ...</p> 3391 </td> 4019 local model "..." has terminate_coupled = ... 4020 </td><td style="vertical-align: top;"><br> 4021 </td> 4022 3392 4023 3393 4024 </tr> … … 3397 4028 <td style="vertical-align: top;"><a name="PA0311"></a>PA0311</td> 3398 4029 3399 <td> 3400 <p>number of gridpoints along x or/and y contain illegal 3401 factors only factors 8,6,5,4,3,2 are allowed</p> 3402 </td> 4030 <td style="vertical-align: top;"> 4031 number of gridpoints along x or/and y contain illegal 4032 factors only factors 8,6,5,4,3,2 are allowed 4033 </td><td style="vertical-align: top;"><br> 4034 </td> 4035 3403 4036 3404 4037 </tr> … … 3408 4041 <td style="vertical-align: top;"><a name="PA0312"></a>PA0312</td> 3409 4042 3410 <td >3411 <p>Time step has reached minimum limit.<br>4043 <td style="vertical-align: top;"> 4044 Time step has reached minimum limit.<br> 3412 4045 3413 4046 dt = ... s Simulation is terminated.<br> … … 3427 4060 v_max = ... m/s k=... j=... i=...<br> 3428 4061 3429 w_max = ... m/s k=... j=... i=...</p> 3430 </td> 4062 w_max = ... m/s k=... j=... i=... 4063 </td><td style="vertical-align: top;"><br> 4064 </td> 4065 3431 4066 3432 4067 </tr> … … 3436 4071 <td style="vertical-align: top;"><a name="PA0313"></a>PA0313</td> 3437 4072 3438 <td> 3439 <p>illegal value for parameter particle_color: ...</p> 3440 </td> 4073 <td style="vertical-align: top;"> 4074 illegal value for parameter particle_color: ... 4075 </td><td style="vertical-align: top;"><br> 4076 </td> 4077 3441 4078 3442 4079 </tr> … … 3446 4083 <td style="vertical-align: top;"><a name="PA0314"></a>PA0314</td> 3447 4084 3448 <td> 3449 <p>illegal value for parameter particle_dvrpsize: ...</p> 3450 </td> 4085 <td style="vertical-align: top;"> 4086 illegal value for parameter particle_dvrpsize: ... 4087 </td><td style="vertical-align: top;"><br> 4088 </td> 4089 3451 4090 3452 4091 </tr> … … 3456 4095 <td style="vertical-align: top;"><a name="PA0315"></a>PA0315</td> 3457 4096 3458 <td> 3459 <p>color_interval(2) <= color_interval(1)</p> 3460 </td> 4097 <td style="vertical-align: top;"> 4098 color_interval(2) <= color_interval(1) 4099 </td><td style="vertical-align: top;"><br> 4100 </td> 4101 3461 4102 3462 4103 </tr> … … 3466 4107 <td style="vertical-align: top;"><a name="PA0316"></a>PA0316</td> 3467 4108 3468 <td> 3469 <p>dvrpsize_interval(2) <= dvrpsize_interval(1)</p> 3470 </td> 4109 <td style="vertical-align: top;"> 4110 dvrpsize_interval(2) <= dvrpsize_interval(1) 4111 </td><td style="vertical-align: top;"><br> 4112 </td> 4113 3471 4114 3472 4115 </tr> … … 3476 4119 <td style="vertical-align: top;"><a name="PA0317"></a>PA0317</td> 3477 4120 3478 <td> 3479 <p>ocean = .F. does not allow coupling_char = ... 3480 set by mrun-option "-y"</p> 3481 </td> 4121 <td style="vertical-align: top;"> 4122 ocean = .F. does not allow coupling_char = ... 4123 set by mrun-option "-y" 4124 </td><td style="vertical-align: top;"><br> 4125 </td> 4126 3482 4127 3483 4128 </tr> … … 3487 4132 <td style="vertical-align: top;"><a name="PA0318"></a>PA0318</td> 3488 4133 3489 <td >3490 <p>inflow_damping_height must be explicitly specified4134 <td style="vertical-align: top;"> 4135 inflow_damping_height must be explicitly specified 3491 4136 because the inversion height calculated by the prerun 3492 is zero</p> 3493 </td> 4137 is zero 4138 </td><td style="vertical-align: top;"><br> 4139 </td> 4140 3494 4141 3495 4142 </tr> … … 3499 4146 <td style="vertical-align: top;"><a name="PA0319"></a>PA0319</td> 3500 4147 3501 <td> 3502 <p>section_xy must be <= nz + 1 = ...</p> 3503 </td> 4148 <td style="vertical-align: top;"> 4149 section_xy must be <= nz + 1 = ... 4150 </td><td style="vertical-align: top;"><br> 4151 </td> 4152 3504 4153 3505 4154 </tr> … … 3509 4158 <td style="vertical-align: top;"><a name="PA0320"></a>PA0320</td> 3510 4159 3511 <td> 3512 <p>section_xz must be <= ny + 1 = ...</p> 3513 </td> 4160 <td style="vertical-align: top;"> 4161 section_xz must be <= ny + 1 = ... 4162 </td><td style="vertical-align: top;"><br> 4163 </td> 4164 3514 4165 3515 4166 </tr> … … 3519 4170 <td style="vertical-align: top;"><a name="PA0321"></a>PA0321</td> 3520 4171 3521 <td> 3522 <p>section_yz must be <= nx + 1 = ...</p> 3523 </td> 3524 3525 </tr> 3526 3527 <tr> 3528 <td><a name="PA0322"></a>PA0322</td> 3529 <td>output of q*w*(0) requires humidity=.TRUE.</td> 4172 <td style="vertical-align: top;"> 4173 section_yz must be <= nx + 1 = ... 4174 </td><td style="vertical-align: top;"><br> 4175 </td> 4176 4177 4178 </tr> 4179 4180 <tr> 4181 <td style="vertical-align: top;"><a name="PA0322"></a>PA0322</td> 4182 <td style="vertical-align: top;">output of q*w*(0) requires humidity=.TRUE.</td><td style="vertical-align: top;"><br> 4183 </td> 4184 3530 4185 </tr> 3531 4186 <tr> … … 3533 4188 </td> 3534 4189 <td style="vertical-align: top;">output of averaged quantity "..." requires to set a non-zero averaging interval<br> 3535 </td> 4190 </td><td style="vertical-align: top;"><br> 4191 </td> 4192 3536 4193 </tr> 3537 4194 <tr> … … 3540 4197 <td style="vertical-align: top;">Applying large scale vertical motion is not 3541 4198 allowed for ocean runs<br> 3542 </td> 4199 </td><td style="vertical-align: top;"><br> 4200 </td> 4201 3543 4202 </tr> 3544 4203 <tr> … … 3546 4205 <td style="vertical-align: top;"><a name="UI0001"></a>UI0001</td> 3547 4206 3548 <td> 3549 <p>unknown location "..."</p> 3550 </td> 4207 <td style="vertical-align: top;"> 4208 unknown location "..." 4209 </td><td style="vertical-align: top;"><br> 4210 </td> 4211 3551 4212 3552 4213 </tr> … … 3556 4217 <td style="vertical-align: top;"><a name="UI0002"></a>UI0002</td> 3557 4218 3558 <td> 3559 <p>location "..." is not allowed to be called with 3560 parameters "i" and "j"</p> 3561 </td> 4219 <td style="vertical-align: top;"> 4220 location "..." is not allowed to be called with 4221 parameters "i" and "j" 4222 </td><td style="vertical-align: top;"><br> 4223 </td> 4224 3562 4225 3563 4226 </tr> … … 3567 4230 <td style="vertical-align: top;"><a name="UI0003"></a>UI0003</td> 3568 4231 3569 <td> 3570 <p>no output possible for: ...</p> 3571 </td> 4232 <td style="vertical-align: top;"> 4233 no output possible for: ... 4234 </td><td style="vertical-align: top;"><br> 4235 </td> 4236 3572 4237 3573 4238 </tr> … … 3577 4242 <td style="vertical-align: top;"><a name="UI0004"></a>UI0004</td> 3578 4243 3579 <td> 3580 <p>unknown mode "..."</p> 3581 </td> 4244 <td style="vertical-align: top;"> 4245 unknown mode "..." 4246 </td><td style="vertical-align: top;"><br> 4247 </td> 4248 3582 4249 3583 4250 </tr> … … 3587 4254 <td style="vertical-align: top;"><a name="UI0005"></a>UI0005</td> 3588 4255 3589 <td> 3590 <p>topography "..." not available yet</p> 3591 </td> 4256 <td style="vertical-align: top;"> 4257 topography "..." not available yet 4258 </td><td style="vertical-align: top;"><br> 4259 </td> 4260 3592 4261 3593 4262 </tr> … … 3597 4266 <td style="vertical-align: top;"><a name="UI0006"></a>UI0006</td> 3598 4267 3599 <td> 3600 <p>unknown topography "..."</p> 3601 </td> 4268 <td style="vertical-align: top;"> 4269 unknown topography "..." 4270 </td><td style="vertical-align: top;"><br> 4271 </td> 4272 3602 4273 3603 4274 </tr> … … 3607 4278 <td style="vertical-align: top;"><a name="UI0007"></a>UI0007</td> 3608 4279 3609 <td> 3610 <p>canopy_mode "..." not available yet</p> 3611 </td> 4280 <td style="vertical-align: top;"> 4281 canopy_mode "..." not available yet 4282 </td><td style="vertical-align: top;"><br> 4283 </td> 4284 3612 4285 3613 4286 </tr> … … 3617 4290 <td style="vertical-align: top;"><a name="UI0008"></a>UI0008</td> 3618 4291 3619 <td> 3620 <p>unknown canopy_mode "..."</p> 3621 </td> 4292 <td style="vertical-align: top;"> 4293 unknown canopy_mode "..." 4294 </td><td style="vertical-align: top;"><br> 4295 </td> 4296 3622 4297 3623 4298 </tr> … … 3627 4302 <td style="vertical-align: top;"><a name="UI0009"></a>UI0009</td> 3628 4303 3629 <td >3630 <p>the number of user-defined profiles given in4304 <td style="vertical-align: top;"> 4305 the number of user-defined profiles given in 3631 4306 data_output_pr (...) does not match the one 3632 found in the restart file (...)</p> 3633 </td> 4307 found in the restart file (...) 4308 </td><td style="vertical-align: top;"><br> 4309 </td> 4310 3634 4311 3635 4312 </tr> … … 3639 4316 <td style="vertical-align: top;"><a name="UI0010"></a>UI0010</td> 3640 4317 3641 <td> 3642 <p>Spectra of ... can not be calculated</p> 3643 </td> 4318 <td style="vertical-align: top;"> 4319 Spectra of ... can not be calculated 4320 </td><td style="vertical-align: top;"><br> 4321 </td> 4322 3644 4323 3645 4324 </tr> … … 3649 4328 <td style="vertical-align: top;"><a name="UI0011"></a>UI0011</td> 3650 4329 3651 <td> 3652 <p>Spectra of ... are not defined</p> 3653 </td> 4330 <td style="vertical-align: top;"> 4331 Spectra of ... are not defined 4332 </td><td style="vertical-align: top;"><br> 4333 </td> 4334 3654 4335 3655 4336 </tr> … … 3659 4340 <td style="vertical-align: top;"><a name="UI0012"></a>UI0012</td> 3660 4341 3661 <td> 3662 <p>unknown variable named "..." found in data from prior 3663 run on PE</p> 3664 </td> 4342 <td style="vertical-align: top;"> 4343 unknown variable named "..." found in data from prior 4344 run on PE 4345 </td><td style="vertical-align: top;"><br> 4346 </td> 4347 3665 4348 3666 4349 </tr> … … 3670 4353 <td style="vertical-align: top;"><a name="NC****"></a>NC****</td> 3671 4354 3672 <td> 3673 <p>**** contains numbers in the range from 1-444</p> 3674 </td> 4355 <td style="vertical-align: top;"> 4356 **** contains numbers in the range from 1-444 4357 </td><td style="vertical-align: top;"><br> 4358 </td> 4359 3675 4360 3676 4361 </tr> … … 3684 4369 3685 4370 <p style="line-height: 100%;"><i>Last 3686 change: </i> $Id$ </p>4371 change: </i> $Id$ 3687 4372 3688 4373 3689 </ body></html>4374 </p></body></html> -
palm/trunk/DOC/app/chapter_4.2.html
r354 r493 1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 2 <html><head> 3 4 4 5 5 6 … … 11 12 12 13 13 <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> 14 15 16 17 18 19 20 21 22 <title>PALM chapter 4.2</title> 23 </head> 24 25 26 <body> 14 <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>PALM chapter 4.2</title></head><body> 27 15 28 16 … … 1733 1721 1734 1722 <p>Umlauts 1735 are possible (write & ldquo; in front of, similar to TeX), as1723 are possible (write “ in front of, similar to TeX), as 1736 1724 well as super- and subscripts (use ">" or "<" in front of 1737 1725 each … … 2007 1995 2008 1996 2009 <td></td> 1997 <td><br> 1998 </td> 2010 1999 2011 2000 … … 2071 2060 2072 2061 2073 <td style="vertical-align: top;"></td> 2062 <td style="vertical-align: top;"><br> 2063 </td> 2074 2064 2075 2065 … … 2237 2227 2238 2228 2239 <td style="vertical-align: top;"></td> 2229 <td style="vertical-align: top;"><br> 2230 </td> 2240 2231 2241 2232 … … 2391 2382 2392 2383 2393 <td style="vertical-align: top;"></td> 2384 <td style="vertical-align: top;"><br> 2385 </td> 2394 2386 2395 2387 … … 2610 2602 2611 2603 2612 <td style="vertical-align: top;"></td> 2604 <td style="vertical-align: top;"><br> 2605 </td> 2613 2606 2614 2607 … … 2673 2666 2674 2667 2675 <td style="vertical-align: top;"></td> 2668 <td style="vertical-align: top;"><br> 2669 </td> 2676 2670 2677 2671 … … 2735 2729 2736 2730 2737 <td style="vertical-align: top;"></td> 2731 <td style="vertical-align: top;"><br> 2732 </td> 2738 2733 2739 2734 … … 2765 2760 2766 2761 2767 <td></td> 2762 <td><br> 2763 </td> 2768 2764 2769 2765 … … 3109 3105 the file 3110 3106 PLOT3D_FLD (by suitable OUTPUT command in the <span style="font-weight: bold;">mrun</span> 3111 configuration file: & ldquo;<span style="font-family: monospace;">cat3112 PLOT3D_FLD_COOR >> PLOT3D_FLD</span>& rdquo;)3107 configuration file: “<span style="font-family: monospace;">cat 3108 PLOT3D_FLD_COOR >> PLOT3D_FLD</span>”) 3113 3109 after PALM has 3114 3110 finished. To reduce the amount of data, output to this file … … 3147 3143 respective files with suffix _GLOBAL (by 3148 3144 suitable OUTPUT commands in the <span style="font-weight: bold;">mrun</span> 3149 configuration file, e.g.: & ldquo;<span style="font-family: monospace;">cat3150 PLOT2D_XY_LOCAL >> PLOT2D_XY_GLOBAL</span>& rdquo;)3145 configuration file, e.g.: “<span style="font-family: monospace;">cat 3146 PLOT2D_XY_LOCAL >> PLOT2D_XY_GLOBAL</span>”) 3151 3147 after PALM has 3152 3148 finished. Cross sections can be directly plotted with <span style="font-weight: bold;">iso2d</span> using the … … 3228 3224 default, all data (profiles, time 3229 3225 series, spectra, particle data, cross sections, volume data) are output 3230 in NetCDF format (see chapter <a href="chapter_4.5.1.html">4.5.1</a>).3226 in NetCDF 64bit-offset format (see chapter <a href="chapter_4.5.1.html">4.5.1</a>). 3231 3227 Exception: restart data (local files <a href="chapter_3.4.html#BININ">BININ</a>, <a href="chapter_3.4.html#BINOUT">BINOUT</a>, <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_IN">PARTICLE_RESTART_DATA_IN</a>, 3232 3228 <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_OUT">PARTICLE_RESTART_DATA_OUT</a>) … … 3242 3238 3243 3239 The 3244 numerical precision of the NetCDF output is determined with parameter <a href="#chapter_4.1.html#netcdf_precision">netcdf_precision</a>.<br> 3245 3246 3247 3248 3249 <br> 3250 3251 3252 3253 3254 The 3255 maximum file size for NetCDF files is 2 GByte by default. Use the 3256 parameter <a href="#netcdf_64bit">netcdf_64bit</a> 3257 if larger files have to be created.<br> 3240 numerical precision of the NetCDF output is determined with parameter <a href="chapter_4.1.html#netcdf_precision">netcdf_precision</a>.<br> 3241 3242 3243 3244 3245 <br>Other NetCDF formats (classic, NetCDF4/HDF5) can be selected with parameter <a href="#netcdf_data_format">netcdf_data_format</a>.<br> 3258 3246 3259 3247 … … 8428 8416 8429 8417 <tr> 8430 8431 8432 8433 8434 <td style="vertical-align: top;"><a name="netcdf_64bit"></a><span style="font-weight: bold;">netcdf_64bit</span><br> 8435 8436 8437 8438 8439 8418 <td style="vertical-align: top;"><span style="font-weight: bold;"><a name="netcdf_data_format"></a>netcdf_data_format</span><br> 8440 8419 </td> 8441 8442 8443 8444 8445 <td style="vertical-align: top;">L<br> 8446 8447 8448 8449 8450 </td> 8451 8452 8453 8454 8455 8456 <td style="vertical-align: top;"><span style="font-style: italic;">.F.</span><br> 8457 8458 8459 8460 8461 </td> 8462 8463 8464 8465 8466 8467 <td style="vertical-align: top;">All NetCDF files - except those containing 3d 8468 volume data - will have 64 8469 bit offset format if <span style="font-weight: bold;">netcdf_64bit</span> 8470 = .TRUE..<br> 8471 8472 8473 8474 8420 <td style="vertical-align: top;">I<br> 8421 </td> 8422 <td style="vertical-align: top;"><span style="font-style: italic;">2</span><br> 8423 </td> 8424 <td style="vertical-align: top;">Data format for NetCDF files.<br> 8475 8425 <br> 8476 8477 8478 8479 8480 By 8481 default, the maximum file size of the NetCDF files opened by PALM is 2 8482 GByte. Using <span style="font-weight: bold;">netcdf_64bit</span> = .TRUE. allows file sizes larger than 2 8483 GByte.<br> 8484 8485 8486 8487 8426 This variable defines the format of the NetCDF files. Following values are allowed:<br> 8488 8427 <br> 8489 8490 8491 8492 8493 The 64 bit offset format for those NetCDF files containing 3d volume data (<span style="font-family: Courier New,Courier,monospace;">DATA_3D_NETCDF</span>, 8494 <span style="font-family: Courier New,Courier,monospace;">DATA_3D_AV_NETCDF</span>) 8495 is controlled independently by the switch <a href="#netcdf_64bit_3d">netcdf_64bit_3d</a>.<br> 8496 8497 8498 8499 8428 <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2"> 8429 <tbody> 8430 <tr> 8431 <td style="vertical-align: top;"><span style="font-style: italic;">1</span><br> 8432 </td> 8433 <td style="vertical-align: top;">NetCDF classic format (filesize limited to 2GB)<br> 8434 </td> 8435 </tr> 8436 <tr> 8437 <td style="vertical-align: top;"><span style="font-style: italic;">2</span><br> 8438 </td> 8439 <td style="vertical-align: top;">NetCDF 64-bit-offset format (large file support, but single variable still limited to 2GB)<br> 8440 </td> 8441 </tr> 8442 <tr> 8443 <td style="vertical-align: top;"><span style="font-style: italic;">3</span><br> 8444 </td> 8445 <td style="vertical-align: top;">NetCDF-4 (HDF5) format (files can be as large as file system supports; unlimited variable size; allows parallel I/O)<br> 8446 </td> 8447 </tr> 8448 <tr> 8449 <td style="vertical-align: top;"><span style="font-style: italic;">4</span><br> 8450 </td> 8451 <td style="vertical-align: top;">NetCDF-4 format, but with NF90_CLASSIC_MODEL bit set (some new features of NetCDF4 are not available)<br> 8452 </td> 8453 </tr> 8454 </tbody> 8455 </table> 8500 8456 <br> 8501 8502 8503 8504 8505 <span style="font-weight: bold;">Warning:</span><br> 8506 8507 8508 8509 8510 Some 8511 (PD or commercial) software may not support the 64 bit offset format.<br> 8512 8513 8514 8515 8516 8457 <span style="font-weight: bold;">Important:</span><br> 8458 Setting <span style="font-weight: bold;">netcdf_data_format </span>> <span style="font-style: italic;">2 </span>requires a NetCDF4 library (set <span style="font-family: Courier New,Courier,monospace;">-I</span>, <span style="font-family: Courier New,Courier,monospace;">-L</span>, and<span style="font-family: Courier New,Courier,monospace;"> -l </span>options for compiling and linking appropriately in configuration file). Also, preprocessor switch <span style="font-family: Courier New,Courier,monospace;">__netcdf4 </span>has to be set (see line starting with <span style="font-family: Courier New,Courier,monospace;">%cpp_opts </span>in the configuration file).<br> 8459 <br> 8460 Files with NetCDF4 format cannot be read with NetCDF3 libraries.<br> 8517 8461 </td> 8518 8519 8520 8521 8522 </tr>8523 8524 8525 8526 8527 <tr>8528 8529 8530 8531 8532 <td style="vertical-align: top;"><a name="netcdf_64bit_3d"></a><span style="font-weight: bold;">netcdf_64bit_3d</span></td>8533 8534 8535 8536 8537 <td style="vertical-align: top;">L</td>8538 8539 8540 8541 8542 <td style="vertical-align: top;">.T.</td>8543 8544 8545 8546 8547 <td style="vertical-align: top;">NetCDF files containing 3d8548 volume data will have 64 bit offset format if <span style="font-weight: bold;">netcdf_64bit_3d</span>8549 = .TRUE..<br>8550 8551 <br>8552 8553 8554 8555 8556 By8557 default, the maximum file size of the NetCDF files opened by PALM is 28558 GByte. Using <span style="font-weight: bold;">netcdf_64bit_3d</span> = .TRUE. allows file sizes larger than 28559 GByte.<br>8560 8561 <br>8562 8563 8564 8565 8566 The 64 bit offset format for all other NetCDF files (<span style="font-style: italic;">not</span> containing 3d volume data) is controlled independently by the switch <a href="chapter_4.2.html#netcdf_64bit">netcdf_64bit</a>.<br>8567 8568 <br>8569 8570 8571 8572 8573 <span style="font-weight: bold;">Warning:</span><br>8574 8575 8576 8577 8578 Some8579 (PD or commercial) software may not support the 64 bit offset format.</td>8580 8581 8582 8583 8584 8462 </tr> 8463 8464 8465 8466 8467 8468 8585 8469 8586 8470 … … 8741 8625 <td style="vertical-align: top;">I</td> 8742 8626 8743 <td style="vertical-align: top;"></td> 8627 <td style="vertical-align: top;"><br> 8628 </td> 8744 8629 8745 8630 <td style="vertical-align: top;"> … … 8837 8722 <td style="vertical-align: top;">I</td> 8838 8723 8839 <td style="vertical-align: top;"></td> 8724 <td style="vertical-align: top;"><br> 8725 </td> 8840 8726 8841 8727 <td style="vertical-align: top;"> … … 11938 11824 user-interface (subroutine</span></font> <span style="font-family: monospace;">user_init_particles</span>)<span lang="en-GB"><font face="Thorndale, serif">. 11939 11825 Particles can pull a 11940 & ldquo;tail” behind themselves to improve their11826 “tail” behind themselves to improve their 11941 11827 visualization. 11942 11828 This is steered via the parameter <a href="chapter_4.2.html#use_particle_tails">use_particle_tails</a>.</font></span><a href="chapter_4.2.html#maximum_number_of_tailpoints"><span lang="en-GB"></span></a></p> … … 11996 11882 11997 11883 11998 <td style="vertical-align: top;"><i> ´reflect´</i></td>11884 <td style="vertical-align: top;"><i>ŽreflectŽ</i></td> 11999 11885 12000 11886 … … 12021 11907 default, particles are reflected at the bottom boundary. 12022 11908 Alternatively, a particle absorption can set by <b>bc_par_b</b> 12023 = <i> ´absorb´</i>.</p>11909 = <i>ŽabsorbŽ</i>.</p> 12024 11910 12025 11911 … … 12064 11950 12065 11951 12066 <td style="vertical-align: top;"><i> ´cyclic´</i></td>11952 <td style="vertical-align: top;"><i>ŽcyclicŽ</i></td> 12067 11953 12068 11954 … … 12090 11976 are used along x. 12091 11977 Alternatively, reflection (<b>bc_par_lr</b> 12092 = <i> ´reflect´</i>) or absorption (<b>bc_par_lr</b>12093 = <i> ´absorb´</i>)11978 = <i>ŽreflectŽ</i>) or absorption (<b>bc_par_lr</b> 11979 = <i>ŽabsorbŽ</i>) 12094 11980 can be set. <br> 12095 11981 … … 12152 12038 12153 12039 12154 <td style="vertical-align: top;"><i> ´cyclic´</i></td>12040 <td style="vertical-align: top;"><i>ŽcyclicŽ</i></td> 12155 12041 12156 12042 … … 12178 12064 are used along y. 12179 12065 Alternatively, reflection (<b>bc_par_ns</b> 12180 = <i> ´reflect´</i>) or absorption (<b>bc_par_ns</b>12181 = <i> ´absorb´</i>)12066 = <i>ŽreflectŽ</i>) or absorption (<b>bc_par_ns</b> 12067 = <i>ŽabsorbŽ</i>) 12182 12068 can be set.<br> 12183 12069 … … 12230 12116 12231 12117 12232 <td style="vertical-align: top;"><i> ´absorb´</i></td>12118 <td style="vertical-align: top;"><i>ŽabsorbŽ</i></td> 12233 12119 12234 12120 … … 12255 12141 particles are absorbed at the top boundary. 12256 12142 Alternatively, a reflection condition can be set by <b>bc_par_t</b> 12257 = <i> ´reflect´</i>.</p>12143 = <i>ŽreflectŽ</i>.</p> 12258 12144 12259 12145 … … 14324 14210 14325 14211 <td style="vertical-align: top;">Rear 14326 (& ldquo;north”) edge of a14212 (“north”) edge of a 14327 14213 particle source (in m). </td> 14328 14214 … … 14424 14310 14425 14311 <td style="vertical-align: top;">Front 14426 (& ldquo;south”) edge of a14312 (“south”) edge of a 14427 14313 particle source (in m). </td> 14428 14314 … … 14614 14500 14615 14501 14616 <p><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy:initial;"><font color="#000000">Initial position of the</font></span>14502 <p><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><font color="#000000">Initial position of the</font></span> 14617 14503 particles is 14618 14504 varied randomly within certain limits. </p> … … 16290 16176 (cross sections), and <span style="font-style: italic;">'particles'</span>. 16291 16177 Within the strings the hash characters ("##") have to be replaced by two 16292 digits 01& le;##≤99. Up to 10 objects16178 digits 01≤##≤99. Up to 10 objects 16293 16179 can be assigned at the same time, e.g.: </p> 16294 16180 … … 17353 17239 subsequent columns. </font>The order 17354 17240 of the data in the file follows the order used in the assignment for <b>data_output_sp</b> 17355 (<b>data_output_sp</b> = <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'v'</span>,& hellip;17241 (<b>data_output_sp</b> = <span style="font-style: italic;">'u'</span>, <span style="font-style: italic;">'v'</span>,… 17356 17242 means that the file starts with the spectra of the u-component, 17357 17243 followed by the v-component spectra, etc.). Additional to the files … … 17748 17634 17749 17635 17750 </body> 17751 </ html>17636 17637 </body></html> -
palm/trunk/DOC/app/chapter_4.5.1.html
r97 r493 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 2 <html><head> 3 3 4 <meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.5.1</title> 4 5 <meta content="StarOffice 7 (Win32)" name="GENERATOR"> … … 7 8 @page { size: 21cm 29.7cm } 8 9 --> 9 </style></head> 10 <body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.1 10 </style></head><body style="direction: ltr;" lang="en-US"><h4 style="line-height: 100%;"><font size="4">4.5.1 11 11 NetCDF data output <span style="color: rgb(255, 0, 0);"></span></font></h4> 12 12 <p style="line-height: 100%;">The standard data output of 13 13 PALM is NetCDF (<span style="font-weight: bold;">Net</span>work 14 <span style="font-weight: bold;">C</span>ommon <span style="font-weight: bold;">D</span>ata <span style="font-weight: bold;">F</span>orm) . NetCDF is an15 interface to a library of data access functions <br>for14 <span style="font-weight: bold;">C</span>ommon <span style="font-weight: bold;">D</span>ata <span style="font-weight: bold;">F</span>orm) in 64-bit offset format. NetCDF is an 15 interface to a library of data access functions for 16 16 storing and retrieving data in the form of arrays. NetCDF is an 17 17 abstraction that supports a view of data as a collection of … … 36 36 on <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/manual/netcdf/netcdf-3_f90_tutorial.pdf">our 37 37 web server</a>.</p><p style="line-height: 100%;">The 38 output format of PALM data is determined by the runtime-parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a>38 general output format of PALM data is determined by the runtime-parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a> 39 39 (<span style="font-weight: bold;">data_output_format</span> 40 40 = <span style="font-style: italic;">'netcdf'</span>, … … 42 42 selected (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>). 43 43 The accuracy of the NetCDF output data can be set with parameter <a href="chapter_4.1.html#netcdf_precision">netcdf_precision</a>. 44 By default, data have single (4 byte) precision. Also by default, 45 NetCDF datasets (files) are not allowed to be larger than 2 GByte. 46 Larger datasets can be created by setting <a href="chapter_4.2.html#netcdf_64bit">netcdf_64bit</a> 47 = <span style="font-style: italic;">.TRUE.</span>. 48 These files then have the so-called 64bit-offset format. However, 49 currently, many of the existing application programs may not support 50 this 64-bit offset format.<br></p>PALM allows the output of 44 By default, data have single (4 byte) precision. Runtime-parameter <a href="chapter_4.2.html#netcdf_data_format">netcdf_data_format</a> 45 can be used to choose between the different NetCDF file formats 46 (classic, 64-bit offset, NetCDF4/HDF5). The 64-bit offset format allows 47 creating large files (file size only limited by the underlying file 48 system), but each output variable (array) is still limited to 2GB. In 49 NetCDF4 format, there is no limit for the size of variables, and it 50 also allows parallel I/O into one output file. However, some (graphic) 51 software still does not support NetCDF4 format.<br></p>PALM allows the output of 51 52 various 52 53 data (e.g. cross sections, vertical profiles, timeseries, etc.) into … … 157 158 or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="undefined" valign="undefined">particle 158 159 timeseries</td><td style="vertical-align: top;"><a href="chapter_3.4.html#DATA_1D_PTS_NETCDF">DATA_1D_PTS_NETCDF</a></td><td style="vertical-align: top;"><a href="chapter_4.2.html#dt_data_output">dt_data_output</a> 159 (or <a href="chapter_4.2.html#dt_dopts">dt_dopts</a>)</td><td align="undefined" valign="undefined"></td></tr><tr><td align="left" valign="top">particle attributes</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_PRT_NETCDF">DATA_PRT_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_write_particle_data">dt_write_particle_data</a></td><td align="left" valign="top"></td></tr></tbody></table><br><br><span style="font-weight: bold;">Creating, contents and 160 (or <a href="chapter_4.2.html#dt_dopts">dt_dopts</a>)</td><td align="undefined" valign="undefined"><br> 161 </td></tr><tr><td align="left" valign="top">particle attributes</td><td align="left" valign="top"><a href="chapter_3.4.html#DATA_PRT_NETCDF">DATA_PRT_NETCDF</a></td><td align="left" valign="top"><a href="chapter_4.2.html#dt_write_particle_data">dt_write_particle_data</a></td><td align="left" valign="top"><br> 162 </td></tr></tbody></table><br><br><span style="font-weight: bold;">Creating, contents and 160 163 post-processing of a PALM NetCDF file</span><br><br>This 161 164 section describes, step-by-step, the creation, storage, and … … 208 211 the respective <b>mrun</b> call is 209 212 like<br><br><span style="font-family: monospace;"> 210 mrun -d test -r “xy#”... </span><br style="font-family: monospace;"><br>then the local213 mrun -d test -r xy# ... </span><br style="font-family: monospace;"><br>then the local 211 214 file <tt><font style="font-size: 10pt;" size="2">DATA_2D_XY_NETCDF</font></tt> 212 215 is copied to the permanent file <tt><font style="font-size: 10pt;" size="2">~/test/OUTPUT/test/test_xy.nc</font> … … 229 232 which requires an additional file connection statement<br><br><span style="font-family: monospace;"> 230 233 DATA_2D_XY_AV_NETCDF out:loc:tr xy# 231 ~/$fname/OUTPUT/$fname _xy_av nc .</span><br></p></li><li> With234 ~/$fname/OUTPUT/$fname _xy_av nc .</span><br></p></li><li>Using <a href="chapter_4.2.html#netcdf_data_format">netcdf_data_format</a> > <span style="font-style: italic;">2</span> or <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a> = <span style="font-style: italic;">.F.</span> generates a single NetCDF file containing data from all propcessors. However, with 232 235 parallel runs and choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a> 233 236 = <i>.T.</i> … … 293 296 example program.<br><br><br></li><li>By 294 297 default, each PALM job creates its own NetCDF files. If permanent files 295 with respective filenames are already existing then new files with298 with respective filenames are already existing, then new files with 296 299 higher cycle numbers will be created. However, in case of a job chain, 297 300 it is possible to extend the NetCDF datasets created by the initial -
palm/trunk/DOC/app/chapter_4.6.html
r411 r493 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 2 <html><head> 3 3 4 4 5 … … 8 9 9 10 10 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"> 11 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 4.6</title> 11 12 12 13 … … 20 21 21 22 22 < title>PALM chapter 4.6</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">23 <meta name="GENERATOR" content="StarOffice 7 (Win32)"> 23 24 24 25 … … 64 65 @page { size: 21cm 29.7cm } 65 66 --> 66 </style></head> 67 <body style="direction: ltr;" lang="en-US"> 67 </style></head><body style="direction: ltr;" lang="en-US"> 68 68 69 69 … … 594 594 595 595 596 <td style="vertical-align: middle;"><span style="font-style: italic;"> ´cyclic´</span><br>596 <td style="vertical-align: middle;"><span style="font-style: italic;">ŽcyclicŽ</span><br> 597 597 598 598 … … 826 826 827 827 828 <td style="vertical-align: middle;"><i> ´reflect´</i></td>828 <td style="vertical-align: middle;"><i>ŽreflectŽ</i></td> 829 829 830 830 … … 871 871 872 872 873 <td style="vertical-align: middle;"><i> ´cyclic´</i></td>873 <td style="vertical-align: middle;"><i>ŽcyclicŽ</i></td> 874 874 875 875 … … 909 909 910 910 911 <td style="vertical-align: middle;"><i> ´cyclic´</i></td>911 <td style="vertical-align: middle;"><i>ŽcyclicŽ</i></td> 912 912 913 913 … … 947 947 948 948 949 <td style="vertical-align: middle;"><i> ´absorb´</i></td>949 <td style="vertical-align: middle;"><i>ŽabsorbŽ</i></td> 950 950 951 951 … … 1393 1393 1394 1394 1395 <p><i> ´neumann´</i></p>1395 <p><i>ŽneumannŽ</i></p> 1396 1396 1397 1397 … … 2100 2100 2101 2101 2102 <t d style="vertical-align: middle;" width="15%">2102 <tr><td style="vertical-align: middle;" width="15%"> 2103 2103 2104 2104 … … 2734 2734 2735 2735 2736 <td><span style="font-style: italic;">100 * ´ ´</span></td>2736 <td><span style="font-style: italic;">100 * Ž Ž</span></td> 2737 2737 2738 2738 … … 7457 7457 7458 7458 <tr> 7459 <td style="vertical-align: top;"><a href="chapter_4.2.html#netcdf_data_format"><span style="font-weight: bold;">netcdf_data_format</span></a><br> 7460 </td> 7461 <td style="vertical-align: top;">R<br> 7462 </td> 7463 <td style="vertical-align: top;">I<br> 7464 </td> 7465 <td style="vertical-align: top;"><span style="font-style: italic;">2</span><br> 7466 </td> 7467 <td style="vertical-align: top;">Data format for NetCDF files.<br> 7468 </td> 7469 </tr> 7470 <tr> 7459 7471 7460 7472 … … 7494 7506 7495 7507 7496 <tr> 7497 7498 7499 7500 7501 <td><a href="chapter_4.2.html#netcdf_64bit"><span style="font-weight: bold;">netcdf_64bit</span></a></td> 7502 7503 7504 7505 7506 <td>R</td> 7507 7508 7509 7510 <td>L</td> 7511 7512 7513 7514 <td><span style="font-style: italic;">.F.</span></td> 7515 7516 7517 7518 <td>All NetCDF files - except those containing 3d 7519 volume data - will have 64 bit offset format.</td> 7520 7521 7522 7523 </tr> 7524 7525 7526 7527 <tr> 7528 7529 7530 7531 <td><a style="font-weight: bold;" href="chapter_4.2.html#netcdf_64bit_3d">netcdf_64bit_3d</a></td> 7532 7533 7534 7535 <td>R</td> 7536 7537 7538 7539 <td>L</td> 7540 7541 7542 7543 <td><span style="font-style: italic;">.T.</span></td> 7544 7545 7546 7547 <td>NetCDF 7548 files containing 3d volume data will have 64 bit offset format.</td> 7549 7550 7551 7552 </tr> 7508 7509 7510 7511 7512 7553 7513 7554 7514 … … 10135 10095 10136 10096 10137 <p>Rear ( “north”) edge of a particle10097 <p>Rear (north) edge of a particle 10138 10098 source (in m).</p> 10139 10099 … … 10356 10316 10357 10317 10358 <p>Front ( “south”) edge of a particle10318 <p>Front (south) edge of a particle 10359 10319 source (in m).</p> 10360 10320 … … 11406 11366 11407 11367 11408 <p><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy:initial;"><font color="#000000">Initial position of the</font></span>11368 <p><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span style="background: transparent none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><font color="#000000">Initial position of the</font></span> 11409 11369 particles is 11410 11370 varied randomly within certain limits. </span></p> -
palm/trunk/DOC/app/chapter_5.0.html
r404 r493 1 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 2 <html><head> 3 3 4 4 5 <meta http-equiv="CONTENT-TYPE" content="text/html; charset=windows-1252"><title>PALM chapter 5.0</title> <meta name="GENERATOR" content="StarOffice 7 (Win32)"> <meta name="AUTHOR" content="Siegfried Raasch"> <meta name="CREATED" content="20041103;12380720"> <meta name="CHANGED" content="20041123;15532356"> <meta name="KEYWORDS" content="parallel LES model"> <style> … … 349 350 -DMPI_2REAL=MPI_2DOUBLE_PRECISION</span>. To switch on the NetCDF 350 351 support, you also have to give <span style="font-family: Courier New,Courier,monospace;">-D__netcdf</span> 351 and <span style="font-family: Courier New,Courier,monospace;">-D__netcdf _64bit</span>352 (if you like to have 64bit NetCDF output).</li><li><span style="font-family: Courier New,Courier,monospace;"><6>352 and <span style="font-family: Courier New,Courier,monospace;">-D__netcdf4</span> 353 (if you like to have NetCDF4/HDF5 data format; this requires a NetCDF4 library!).</li><li><span style="font-family: Courier New,Courier,monospace;"><6> 353 354 </span>is the compiler option for specifying the include path to 354 355 search for the NetCDF module/include files</li><li><span style="font-family: Courier New,Courier,monospace;"><7> … … 370 371 ifort lc_bar 371 372 parallel<br>%cpp_options 372 -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit 373 lc_bar parallel<br>%netcdf_inc 373 -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf lc_bar parallel<br>%netcdf_inc 374 374 -I:/usr/local/netcdf/include 375 375 lc_bar parallel<br>%netcdf_lib … … 380 380 lc_bar parallel<br>%lopts 381 381 -axW:-cpp:-openmp:-r8:-nbs:-Vaxlib lc_bar 382 parallel<br></div><br>Currently (version 3. 2a),382 parallel<br></div><br>Currently (version 3.7a), 383 383 depending on the MPI 384 384 version which is running on your local host, the options for the -
palm/trunk/DOC/tec/technical_documentation.html
r486 r493 1 1 <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> 2 2 <html><head> 3 4 3 5 4 6 … … 27 29 </p><ul> <a href="#Kapitel1.0">1.0</a> 28 30 History of changes <p><a href="#Kapitel2.0">2.0</a> 29 How to change the model source 30 code </p> <p><a href="#Kapitel3.0">3.0</a> 31 How to change the source 32 code and how to document modifications<br> 33 </p> <p><a href="#Kapitel3.0">3.0</a> 31 34 Description of selected model numerics<br> 32 35 </p> … … 917 920 <br> 918 921 <h2><a name="Kapitel2.0"></a>2.0 How 919 to change the model source 920 code</h2>Currently 922 to change the source 923 code and how to document modifications<br> 924 </h2>Currently 921 925 (Sep 23rd, 2009), only selected users are allowed to commit changes to 922 the repository. Some rules about how to check in modified code will be 923 added later.<br> 926 the repository. Rules given below are preliminary, until we have switched to the "trac"-System.<br> 927 <br> 928 <ol> 929 <li>Change source code in your current working copy. Document changes in the respective file headers unter "<span style="font-family: Courier New,Courier,monospace;">Current revisions:</span>". 930 Additionally, document all changes in a local file (e.g. 931 ~/palm/current_version/CURRENT_MODIFICATIONS), including the files that 932 have been changed. Classify changes in three cases, new (N), changed 933 (C), and bugfix (B). <span style="font-weight: bold;">Try to be as short and as precise as possible in describing the changes!</span><br> 934 <br> 935 </li> 936 <li>Test the changed version, unless it works sufficiently.<br> 937 <br> 938 </li> 939 940 <li>Commit the changes to the repository<br> 941 <br> 942 <span style="font-family: Courier New,Courier,monospace;"> svn commit -m "message string" trunk<br> 943 </span><br> 944 where "<span style="font-family: Courier New,Courier,monospace;">message string</span>" is a short, <span style="font-weight: bold;">meaningful</span> summary of the changes.<br> 945 <br> 946 Alternatively, in case that you have made quite a lot of changes, you 947 can also give the contents of your file CURRENT_MODIFICATIONS as the 948 log message:<br> 949 <br> 950 <span style="font-family: Courier New,Courier,monospace;"> svn commit -F CURRENT_MODIFICATIONS trunk</span><br> 951 <br> 952 </li> 953 954 <li>Enter the changes into the technical documentation (under <span style="font-family: Courier New,Courier,monospace;">.../trunk/DOC/tec/technical_documentation.html</span>).<br> 955 <br> 956 </li> 957 <li>Move the change comments in the file headers from "Current 958 revisions:" to "Former revisions:". Set the current svn id in front of 959 that.<br> 960 <br> 961 <span style="font-weight: bold;">Example:</span><br> 962 <br> 963 <span style="font-weight: bold;">before move:</span><br> 964 <br> 965 <span style="font-family: Courier New,Courier,monospace;">! Current revisions:</span><br style="font-family: Courier New,Courier,monospace;"> 966 <span style="font-family: Courier New,Courier,monospace;">! -----------------</span><br style="font-family: Courier New,Courier,monospace;"> 967 <span style="font-family: Courier New,Courier,monospace;">! <span style="font-weight: bold;">new dummy argument abcd</span></span><span style="font-family: Courier New,Courier,monospace;"></span><br style="font-family: Courier New,Courier,monospace;"> 968 <span style="font-family: Courier New,Courier,monospace;">!</span><br style="font-family: Courier New,Courier,monospace;"> 969 <span style="font-family: Courier New,Courier,monospace;">! Former revisions:</span><br style="font-family: Courier New,Courier,monospace;"> 970 <span style="font-family: Courier New,Courier,monospace;">! -----------------</span><br style="font-family: Courier New,Courier,monospace;"> 971 <span style="font-family: Courier New,Courier,monospace;">! $Id$</span><br style="font-family: Courier New,Courier,monospace;"> 972 <span style="font-family: Courier New,Courier,monospace;">!</span><br style="font-family: Courier New,Courier,monospace;"> 973 <span style="font-family: Courier New,Courier,monospace;"></span><span style="font-family: Courier New,Courier,monospace;"></span><span style="font-family: Courier New,Courier,monospace;"></span><span style="font-family: Courier New,Courier,monospace;">! 407 2009-12-01 15:01:15Z maronga</span><br style="font-family: Courier New,Courier,monospace;"> 974 <span style="font-family: Courier New,Courier,monospace;">! var_ts is replaced by dots_max </span><br> 975 <br> 976 <span style="font-weight: bold;">after move:</span><br> 977 <br> 978 <span style="font-family: Courier New,Courier,monospace;">! Current revisions:</span><br style="font-family: Courier New,Courier,monospace;"> 979 980 <span style="font-family: Courier New,Courier,monospace;">! -----------------</span><br style="font-family: Courier New,Courier,monospace;"> 981 982 <span style="font-family: Courier New,Courier,monospace;">! </span><br style="font-family: Courier New,Courier,monospace;"> 983 984 <span style="font-family: Courier New,Courier,monospace;">!</span><br style="font-family: Courier New,Courier,monospace;"> 985 986 <span style="font-family: Courier New,Courier,monospace;">! Former revisions:</span><br style="font-family: Courier New,Courier,monospace;"> 987 988 <span style="font-family: Courier New,Courier,monospace;">! -----------------</span><br style="font-family: Courier New,Courier,monospace;"> 989 990 <span style="font-family: Courier New,Courier,monospace;">! $Id$<br> 991 !</span><br style="font-family: Courier New,Courier,monospace;"> 992 <span style="font-family: Courier New,Courier,monospace;">! </span><span style="font-family: Courier New,Courier,monospace;"><span style="font-weight: bold; color: rgb(51, 51, 255);">377 2008-08-30 11:03:41Z raasch</span><br> 993 ! </span><span style="font-family: Courier New,Courier,monospace; font-weight: bold;">new dummy argument abcd</span><br style="font-family: Courier New,Courier,monospace;"> 994 995 <span style="font-family: Courier New,Courier,monospace;">!</span><br style="font-family: Courier New,Courier,monospace;"> 996 997 <span style="font-family: Courier New,Courier,monospace;">! 359 2008-06-01 15:01:15Z maronga</span><br style="font-family: Courier New,Courier,monospace;"> 998 999 <span style="font-family: Courier New,Courier,monospace;">! var_ts is replaced by dots_max<br> 1000 </span><br> 1001 </li> 1002 <li>Commit the changes in the technical documentation and the file headers:<br> 1003 <br> 1004 <span style="font-family: Courier New,Courier,monospace;"> svn commit -m "last commit documented" trunk</span><br> 1005 <br> 1006 <br> 1007 </li> 1008 </ol> 1009 924 1010 <h2> 925 1011 <a name="Kapitel3.0"></a>3.0 Description -
palm/trunk/SCRIPTS/mbuild
r492 r493 113 113 # removed, t3e related parts removed 114 114 # 26/02/10 - BjornM- re-adjustments for lcxt4 (new modules) 115 # 01/03/10 - Siggi - mpilib replaced by modules: explicit module settings 116 # removed; modules should now be given in the 117 # configuration file 115 118 116 119 … … 124 127 locat=normal 125 128 makefile="" 129 module_calls="" 126 130 scirocco=false 127 131 silent=false … … 460 464 fi 461 465 466 modules="" 462 467 netcdf_inc="" 463 468 netcdf_lib="" … … 798 803 799 804 800 # MPI LIBRARY ERMITTELN805 # get modules to be load 801 806 line="" 802 found=false 803 grep "$remote_host_string" $config_file | grep "%mpilib" > $tmp_mbuild 807 grep "$remote_host_string" $config_file | grep "%modules" > $tmp_mbuild 804 808 while read line1 805 809 do … … 813 817 then 814 818 # EVENTUELLE DOPPELPUNKTE AUS DIREKTIVENSTRING ENTFERNEN 815 mpilib=`echo $line | cut -d" " -s -f2` 816 found=true 819 modules=`echo $line | cut -d" " -s -f2 | sed 's/::/%DUM%/g' | sed 's/:/ /g' | sed 's/%DUM%/:/g'` 817 820 fi 818 821 819 822 done < $tmp_mbuild 820 821 [[ $found = false ]] && mpilib=mpt822 823 823 824 … … 918 919 line=$(echo "$line" | cut -c51-) 919 920 done 920 if [[ $( echo $remote_host | cut -c1-5 ) = lcsgi ]]921 then922 column1="mpi library:"; column2=$mpilib923 printf "| $column1$column2 | \n"924 fi925 921 column1="loader options:"; column2=$loader_options 926 922 printf "| $column1$column2 | \n" … … 933 929 line=$(echo "$line" | cut -c51-) 934 930 done 931 if [[ $modules != "" ]] 932 then 933 column1="modules to be load:"; column2=$modules 934 printf "| $column1$column2 | \n" 935 line=$(echo "$modules" | cut -c51-) 936 while [[ "$line" != "" ]] 937 do 938 column1="" 939 column2=$line 940 printf "| $column1$column2 | \n" 941 line=$(echo "$line" | cut -c51-) 942 done 943 fi 935 944 printf "#------------------------------------------------------------------------# \n" 936 945 … … 1020 1029 echo " *** execute \"make\" on remote host" 1021 1030 1031 1032 # generate make call with make options 1022 1033 if [[ $remote_host = nech ]] 1023 1034 then … … 1027 1038 fi 1028 1039 1040 # generate command to load modules, if modules are given 1041 if [[ "$modules" != "" ]] 1042 then 1043 module_calls="module load ${modules};" 1044 fi 1045 1029 1046 if [[ $remote_host = ibms || $remote_host = ibmy ]] 1030 1047 then 1031 1048 1032 ssh ${remote_username}@${remote_addres} " cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll1049 ssh ${remote_username}@${remote_addres} "$module_calls cd ${remote_md}; echo '$make_call_string' > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 2>&1 | tee ${remote_host}_last_make_protokoll 1033 1050 1034 1051 elif [[ $remote_host = ibmh ]] 1035 1052 then 1036 1053 1037 print " export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1054 print "$module_calls export OBJECT_MODE=64; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1038 1055 1039 1056 elif [[ $remote_host = lcsgib || $remote_host = lcsgih ]] 1040 1057 then 1041 1058 1042 print ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1043 # print ". /usr/share/modules/init/bash; module load mvapich2/1.2rc1-intel; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1044 # print ". /usr/share/modules/init/bash; module load mvapich2; cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1059 print ". /usr/share/modules/init/bash; $module_calls cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1045 1060 1046 1061 elif [[ $remote_host = lctit ]] … … 1056 1071 then 1057 1072 1058 print ". /opt/modules/default/init/ksh; module load Base-opts; module load modules; module load pmi; module load pgi; module load PrgEnv-pgi;cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1073 print ". /opt/modules/default/init/ksh; $module_calls cd ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1059 1074 1060 1075 else 1061 1076 1062 print "cd $ {remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1077 print "cd $module_calls ${remote_md}; echo $make_call_string > LAST_MAKE_CALL; chmod u+x LAST_MAKE_CALL; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1063 1078 1064 1079 fi … … 1171 1186 fi 1172 1187 1188 # generate command to load modules, if modules are given 1189 if [[ "$modules" != "" ]] 1190 then 1191 module_calls="module load ${modules};" 1192 fi 1193 1173 1194 if [[ $remote_host = ibms || $remote_host = ibmy ]] 1174 1195 then 1175 1196 1176 ssh ${remote_username}@${remote_addres} " cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR"1197 ssh ${remote_username}@${remote_addres} "$module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" 1177 1198 1178 1199 elif [[ $remote_host = ibmh ]] 1179 1200 then 1180 1201 1181 print " export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres}1202 print "$module_calls export OBJECT_MODE=64; cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 1182 1203 1183 1204 elif [[ $remote_host = lctit ]] … … 1187 1208 while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]] 1188 1209 do 1189 print " cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1210 print "$module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1190 1211 done 1191 1212 … … 1193 1214 then 1194 1215 1195 print ". /opt/modules/default/init/ksh; module load Base-opts; module load modules; module load pmi; module load pgi; module load PrgEnv-pgi;cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1216 print ". /opt/modules/default/init/ksh; $module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1196 1217 1197 1218 else 1198 1219 1199 print " cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll1220 print "$module_calls cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll 1200 1221 1201 1222 fi … … 1238 1259 echo " " 1239 1260 echo " *** execute \"make\" on local host" 1261 1262 # first load modules, if given 1263 if [[ "$modules" != "" ]] 1264 then 1265 module load ${modules} 1266 fi 1240 1267 1241 1268 make $make_options PROG=$mainprog F90=$compiler_name COPT="$cpp_options" F90FLAGS="$compiler_options" LDFLAGS="$loader_options" 2>&1 | tee ${remote_host}_last_make_protokoll -
palm/trunk/SCRIPTS/mrun
r475 r493 198 198 # 03/02/10 - Siggi - make options (mopts) to be set by configuration file 199 199 # implemented 200 # 08/02/10 - Siggi - loading of modules now controlled via configuration 201 # file (modules) 200 202 201 203 … … 261 263 mc=`echo $mc | cut -f2- -d"/"` 262 264 done 263 module_ files=""265 module_calls="" 264 266 mrun_script_name=$mc 265 267 netcdf_inc="" … … 2072 2074 2073 2075 2076 # set module load command and export for subjob 2077 if [[ "$modules" != "" ]] 2078 then 2079 export module_calls="module load ${modules};" 2080 fi 2081 2082 2074 2083 # SET DEFAULT VALUE FOR MPI MODULE TO BE USED ON SGI-ALTIX 2075 2084 if [[ $host = lcsgib || $host = lcsgih ]] 2076 2085 then 2077 [[ "$mpilib" = "" ]] && export mpilib=mpt 2086 if [[ $(echo $modules | grep -c mpt ) != 0 ]] 2087 then 2088 mpilib=mpt 2089 elif [[ $(echo $modules | grep -c mvapich ) != 0 ]] 2090 then 2091 mpilib=mvapich 2092 fi 2078 2093 fi 2079 2094 … … 2125 2140 if [[ "$mopts" != "" ]] 2126 2141 then 2127 spalte1= make-options:; spalte2=$mopts2142 spalte1="make options:"; spalte2=$mopts 2128 2143 printf "| $spalte1$spalte2 | \n" 2129 2144 zeile=$(echo "$mopts" | cut -c41-) … … 2137 2152 fi 2138 2153 2139 spalte1= cpp-directives:; spalte2=$cpp_options2154 spalte1="cpp directives:"; spalte2=$cpp_options 2140 2155 printf "| $spalte1$spalte2 | \n" 2141 2156 zeile=$(echo "$cpp_options" | cut -c41-) … … 2148 2163 done 2149 2164 2150 spalte1= compiler-options:; spalte2="$fopts"2165 spalte1="compiler options:"; spalte2="$fopts" 2151 2166 printf "| $spalte1$spalte2 | \n" 2152 2167 zeile=$(echo "$fopts" | cut -c41-) … … 2159 2174 done 2160 2175 2161 spalte1= linker-options:; spalte2=$lopts2176 spalte1="linker options:"; spalte2=$lopts 2162 2177 printf "| $spalte1$spalte2 | \n" 2163 2178 zeile=$(echo "$lopts" | cut -c41-) 2179 while [[ "$zeile" != "" ]] 2180 do 2181 spalte1="" 2182 spalte2=$zeile 2183 printf "| $spalte1$spalte2 | \n" 2184 zeile=$(echo "$zeile" | cut -c41-) 2185 done 2186 2187 spalte1="modules to be load:"; spalte2=$modules 2188 printf "| $spalte1$spalte2 | \n" 2189 zeile=$(echo "$modules" | cut -c41-) 2164 2190 while [[ "$zeile" != "" ]] 2165 2191 do … … 2300 2326 tmpcreate=true 2301 2327 2328 # set striping on lustre file system 2329 # if [[ $localhost = lcsgih ]] 2330 # then 2331 # lfs setstripe -s 8192k -c 16 $TEMPDIR 2332 # lfs getstripe $TEMPDIR 2333 # fi 2334 2302 2335 2303 2336 # SAEMTLICHE QUELLTEXT-DATEIEN BZW. AUSFUEHRBARES PROGRAMM IN … … 2430 2463 printf " compilername: $compiler_name\n" 2431 2464 printf " compiler options: $fopts\n" 2432 printf " preprocessor-directives: $cpp_options \n" 2433 printf " linker-options: $lopts \n" 2465 printf " preprocessor directives: $cpp_options \n" 2466 printf " linker options: $lopts \n" 2467 if [[ "$modules" != "" ]] 2468 then 2469 printf " modules to be load: $modules \n" 2470 fi 2434 2471 printf " source code files: $source_list \n" 2435 2472 2436 2473 if [[ $localhost = nech ]] 2437 2474 then 2438 ssh 136.172.44.192 -l $usern ". /SX/opt/etc/initsx.sh; cd \$HOME/work/${usern}.$kennung; sxmake $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" "2475 ssh 136.172.44.192 -l $usern ". /SX/opt/etc/initsx.sh; $module_calls cd \$HOME/work/${usern}.$kennung; sxmake $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" " 2439 2476 cp $TEMPDIR_COMPILE/a.out . 2440 2477 [[ $? != 0 ]] && compile_error=true … … 2443 2480 then 2444 2481 printf " compiler is called via ssh on \"plogin1\" \n" 2445 ssh plogin1 -l $usern "export PATH=/sw/ibm/xlf/12.1.0.3/usr/bin:$PATH; cd $TEMPDIR; make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" "2482 ssh plogin1 -l $usern "export PATH=/sw/ibm/xlf/12.1.0.3/usr/bin:$PATH; $module_calls cd $TEMPDIR; make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" " 2446 2483 [[ ! -f a.out ]] && compile_error=true 2447 2484 continue # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN 2448 2485 elif [[ $localhost = lcsgib ]] 2449 2486 then 2450 printf " compiler is called via ssh on \"bicegate\" using module \"$mpilib\"\n"2451 ssh 130.73.232.103 -l $usern ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib;cd $TEMPDIR; make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" "2487 printf " compiler is called via ssh on \"bicegate\" \n" 2488 ssh 130.73.232.103 -l $usern ". /usr/share/modules/init/bash; $module_calls cd $TEMPDIR; make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" " 2452 2489 [[ ! -f a.out ]] && compile_error=true 2453 2490 continue # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN 2454 2491 elif [[ $localhost = lcsgih ]] 2455 2492 then 2456 printf " compiler is called via ssh on \"hicegate2\" using module \"$mpilib\"\n"2457 ssh 130.75.4.103 -l $usern ". /usr/share/modules/init/bash; module load ifort/11.0.069; module load $mpilib;cd $TEMPDIR; make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" 2>&1 "2493 printf " compiler is called via ssh on \"hicegate2\" \n" 2494 ssh 130.75.4.103 -l $usern ". /usr/share/modules/init/bash; $module_calls cd $TEMPDIR; make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT=\"$cpp_options\" F90FLAGS=\"$fopts\" LDFLAGS=\"$lopts\" 2>&1 " 2458 2495 [[ ! -f a.out ]] && compile_error=true 2459 2496 continue # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN 2460 2497 else 2461 2498 [[ $localhost = lctit ]] && export LM_LICENSE_FILE=27050@tggls 2499 [[ "$module_calls" != "" ]] && eval $module_calls 2462 2500 make $mopts -f Makefile PROG=a.out F90=$compiler_name COPT="$cpp_options" F90FLAGS="$fopts" LDFLAGS="$lopts" 2463 2501 fi -
palm/trunk/SCRIPTS/subjob
r492 r493 115 115 # 26/02/10 - BjornM- re-adjustments for lcxt4 (new modules, email 116 116 # notification) 117 # 01/03/10 - Siggi - loading of modules controlled by environment variable 118 # module_calls 119 117 120 118 121 … … 815 818 816 819 . /usr/share/modules/init/bash 817 module load ifort/11.0.069 818 module load $mpilib 819 module load netcdf 820 $module_calls 820 821 821 822 echo ld_library_path=\$LD_LIBRARY_PATH … … 835 836 836 837 . /usr/share/modules/init/bash 837 module load ifort/11.0.069 838 module load netcdf 838 $module_calls 839 839 840 840 %%END%% … … 861 861 862 862 . /opt/modules/default/init/ksh 863 module load modules 864 module load PrgEnv-pgi 865 module load Base-opts 866 module load moab 867 module load torque 868 module load pmi 863 $module_calls 869 864 870 865 %%END%% … … 885 880 886 881 . /opt/modules/default/init/ksh 887 module load modules 888 module load PrgEnv-pgi 889 module load Base-opts 890 module load moab 891 module load torque 892 module load pmi 882 $module_calls 893 883 894 884 %%END%% … … 938 928 939 929 . /opt/modules/default/init/ksh 940 module load modules/3.1.6 941 module load netcdf/3.6.2 942 module load PrgEnv-pgi/2.2.41 943 module load Base-opts/2.2.41 930 $module_calls 944 931 945 932 %%END%% … … 958 945 959 946 . /opt/modules/default/init/ksh 960 module load modules/3.1.6 961 module load netcdf/3.6.2 962 module load PrgEnv-pgi/2.2.41 963 module load Base-opts/2.2.41 947 $module_calls 964 948 965 949 %%END%% -
palm/trunk/SOURCE/check_open.f90
r449 r493 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! NetCDF4 support (parallel output) 7 7 ! 8 8 ! Former revisions: … … 125 125 SELECT CASE ( file_id ) 126 126 127 CASE ( 15, 16, 17, 18, 19, 40:49, 50:59, 81:84, 101:107, 109, 111:113, & 128 116, 121:160 ) 127 CASE ( 15, 16, 17, 18, 19, 40:49, 50:59, 81:84, 104:105, 107, 109 ) 129 128 130 IF ( .NOT. format_parallel_io) THEN 129 IF ( myid /= 0 ) THEN 130 WRITE( message_string, * ) 'opening file-id ',file_id, & 131 ' not allowed for PE ',myid 132 CALL message( 'check_open', 'PA0167', 2, 2, -1, 6, 1 ) 133 ENDIF 134 135 CASE ( 101:103, 106, 111:113, 116, 121:160 ) 136 137 IF ( netcdf_data_format < 3 ) THEN 131 138 132 139 IF ( myid /= 0 ) THEN … … 136 143 ENDIF 137 144 138 145 ENDIF 139 146 140 147 CASE ( 21, 22, 23 ) … … 705 712 IF ( netcdf_extend ) THEN 706 713 ! 707 !-- Open an existing NetCDF file for output 714 !-- Open an existing NetCDF file for output 715 #if defined( __netcdf4 ) 716 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xy(av), & 717 COMM = comm2d, INFO = MPI_INFO_NULL ) 718 #else 708 719 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xy(av) ) 720 #endif 709 721 710 722 CALL handle_netcdf_error( 'check_open', 20 ) … … 720 732 nc_stat = NF90_CLOSE( id_set_xy(av) ) 721 733 CALL handle_netcdf_error( 'check_open', 21 ) 722 CALL local_system( 'rm ' // TRIM( filename ) )734 IF ( myid == 0 ) CALL local_system( 'rm ' // TRIM( filename ) ) 723 735 ENDIF 724 736 … … 727 739 IF ( .NOT. netcdf_extend ) THEN 728 740 ! 729 !-- Create a new NetCDF output file 730 IF ( netcdf_64bit ) THEN 731 #if defined( __netcdf_64bit ) 741 !-- Create a new NetCDF output file with requested NetCDF format 742 IF ( netcdf_data_format == 1 ) THEN 743 ! 744 !-- Classic NetCDF format 745 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xy(av) ) 746 747 ELSEIF ( netcdf_data_format == 2 ) THEN 748 ! 749 !-- 64bit-offset format 732 750 nc_stat = NF90_CREATE( filename, & 733 751 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 734 752 id_set_xy(av) ) 735 #else 736 message_string = 'NetCDF: no 64-bit offset allowed ' // & 737 'on this machine' 738 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 ) 739 740 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xy(av) ) 741 #endif 742 ELSE 743 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xy(av) ) 744 ENDIF 753 754 #if defined( __netcdf4 ) 755 ELSEIF ( netcdf_data_format == 3 ) THEN 756 ! 757 !-- NetCDF4/HDF5 format 758 nc_stat = NF90_CREATE( filename, & 759 OR( NF90_NOCLOBBER, NF90_NETCDF4 ), & 760 id_set_xy(av), COMM = comm2d, & 761 INFO = MPI_INFO_NULL ) 762 763 ELSEIF ( netcdf_data_format == 4 ) THEN 764 ! 765 !-- NetCDF4/HDF5 format with classic model flag 766 nc_stat = NF90_CREATE( filename, & 767 OR( NF90_NOCLOBBER, & 768 OR( NF90_CLASSIC_MODEL, NF90_HDF5 ) ), & 769 id_set_xy(av), COMM = comm2d, & 770 INFO = MPI_INFO_NULL ) 771 #endif 772 ENDIF 773 745 774 CALL handle_netcdf_error( 'check_open', 22 ) 775 746 776 ! 747 777 !-- Define the header 748 778 CALL define_netcdf_header( 'xy', netcdf_extend, av ) 779 780 ! 781 !-- In case of parallel NetCDF output, create flag file which tells 782 !-- combine_plot_fields that nothing is to do. 783 IF ( myid == 0 .AND. netcdf_data_format > 2 ) THEN 784 OPEN( 99, FILE='NO_COMBINE_PLOT_FIELDS_XY' ) 785 WRITE ( 99, '(A)' ) 'no combine_plot_fields.x neccessary' 786 CLOSE( 99 ) 787 ENDIF 749 788 750 789 ENDIF … … 769 808 ! 770 809 !-- Open an existing NetCDF file for output 810 #if defined( __netcdf4 ) 811 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xz(av), & 812 COMM = comm2d, INFO = MPI_INFO_NULL ) 813 #else 771 814 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xz(av) ) 815 #endif 772 816 CALL handle_netcdf_error( 'check_open', 23 ) 773 817 ! … … 782 826 nc_stat = NF90_CLOSE( id_set_xz(av) ) 783 827 CALL handle_netcdf_error( 'check_open', 24 ) 784 CALL local_system( 'rm ' // TRIM( filename ) )828 IF ( myid == 0 ) CALL local_system( 'rm ' // TRIM( filename ) ) 785 829 ENDIF 786 830 … … 789 833 IF ( .NOT. netcdf_extend ) THEN 790 834 ! 791 !-- Create a new NetCDF output file 792 IF ( netcdf_64bit ) THEN 793 #if defined( __netcdf_64bit ) 835 !-- Create a new NetCDF output file with requested NetCDF format 836 IF ( netcdf_data_format == 1 ) THEN 837 ! 838 !-- Classic NetCDF format 839 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xz(av) ) 840 841 ELSEIF ( netcdf_data_format == 2 ) THEN 842 ! 843 !-- 64bit-offset format 794 844 nc_stat = NF90_CREATE( filename, & 795 845 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 796 846 id_set_xz(av) ) 797 #else 798 message_string = 'NetCDF: no 64-bit offset allowed ' // & 799 'on this machine' 800 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 ) 801 802 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xz(av) ) 803 #endif 804 ELSE 805 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_xz(av) ) 806 ENDIF 847 848 #if defined( __netcdf4 ) 849 ELSEIF ( netcdf_data_format == 3 ) THEN 850 ! 851 !-- NetCDF4/HDF5 format 852 nc_stat = NF90_CREATE( filename, & 853 OR( NF90_NOCLOBBER, NF90_NETCDF4 ), & 854 id_set_xz(av), COMM = comm2d, & 855 INFO = MPI_INFO_NULL ) 856 857 ELSEIF ( netcdf_data_format == 4 ) THEN 858 ! 859 !-- NetCDF4/HDF5 format with classic model flag 860 nc_stat = NF90_CREATE( filename, & 861 OR( NF90_NOCLOBBER, & 862 OR( NF90_CLASSIC_MODEL, NF90_HDF5 ) ), & 863 id_set_xz(av), COMM = comm2d, & 864 INFO = MPI_INFO_NULL ) 865 #endif 866 ENDIF 867 807 868 CALL handle_netcdf_error( 'check_open', 25 ) 869 808 870 ! 809 871 !-- Define the header 810 872 CALL define_netcdf_header( 'xz', netcdf_extend, av ) 873 874 ! 875 !-- In case of parallel NetCDF output, create flag file which tells 876 !-- combine_plot_fields that nothing is to do. 877 IF ( myid == 0 .AND. netcdf_data_format > 2 ) THEN 878 OPEN( 99, FILE='NO_COMBINE_PLOT_FIELDS_XZ' ) 879 WRITE ( 99, '(A)' ) 'no combine_plot_fields.x neccessary' 880 CLOSE( 99 ) 881 ENDIF 811 882 812 883 ENDIF … … 831 902 ! 832 903 !-- Open an existing NetCDF file for output 904 #if defined( __netcdf4 ) 905 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_yz(av), & 906 COMM = comm2d, INFO = MPI_INFO_NULL ) 907 #else 833 908 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_yz(av) ) 909 #endif 834 910 CALL handle_netcdf_error( 'check_open', 26 ) 835 911 ! … … 844 920 nc_stat = NF90_CLOSE( id_set_yz(av) ) 845 921 CALL handle_netcdf_error( 'check_open', 27 ) 846 CALL local_system( 'rm ' // TRIM( filename ) )922 IF ( myid == 0 ) CALL local_system( 'rm ' // TRIM( filename ) ) 847 923 ENDIF 848 924 … … 851 927 IF ( .NOT. netcdf_extend ) THEN 852 928 ! 853 !-- Create a new NetCDF output file 854 IF ( netcdf_64bit ) THEN 855 #if defined( __netcdf_64bit ) 856 nc_stat = NF90_CREATE( filename, & 857 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET), & 929 !-- Create a new NetCDF output file with requested NetCDF format 930 IF ( netcdf_data_format == 1 ) THEN 931 ! 932 !-- Classic NetCDF format 933 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_yz(av) ) 934 935 ELSEIF ( netcdf_data_format == 2 ) THEN 936 ! 937 !-- 64bit-offset format 938 nc_stat = NF90_CREATE( filename, & 939 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 858 940 id_set_yz(av) ) 859 #else 860 message_string = 'NetCDF: no 64-bit offset allowed ' // & 861 'on this machine' 862 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 ) 863 864 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_yz(av) ) 865 #endif 866 ELSE 867 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_yz(av) ) 868 ENDIF 941 942 #if defined( __netcdf4 ) 943 ELSEIF ( netcdf_data_format == 3 ) THEN 944 ! 945 !-- NetCDF4/HDF5 format 946 nc_stat = NF90_CREATE( filename, & 947 OR( NF90_NOCLOBBER, NF90_NETCDF4 ), & 948 id_set_yz(av), COMM = comm2d, & 949 INFO = MPI_INFO_NULL ) 950 951 ELSEIF ( netcdf_data_format == 4 ) THEN 952 ! 953 !-- NetCDF4/HDF5 format with classic model flag 954 nc_stat = NF90_CREATE( filename, & 955 OR( NF90_NOCLOBBER, & 956 OR( NF90_CLASSIC_MODEL, NF90_HDF5 ) ), & 957 id_set_yz(av), COMM = comm2d, & 958 INFO = MPI_INFO_NULL ) 959 #endif 960 ENDIF 961 869 962 CALL handle_netcdf_error( 'check_open', 28 ) 963 870 964 ! 871 965 !-- Define the header 872 966 CALL define_netcdf_header( 'yz', netcdf_extend, av ) 967 968 ! 969 !-- In case of parallel NetCDF output, create flag file which tells 970 !-- combine_plot_fields that nothing is to do. 971 IF ( myid == 0 .AND. netcdf_data_format > 2 ) THEN 972 OPEN( 99, FILE='NO_COMBINE_PLOT_FIELDS_YZ' ) 973 WRITE ( 99, '(A)' ) 'no combine_plot_fields.x neccessary' 974 CLOSE( 99 ) 975 ENDIF 873 976 874 977 ENDIF … … 908 1011 ! 909 1012 !-- Create a new NetCDF output file 910 IF ( netcdf_64bit ) THEN 911 #if defined( __netcdf_64bit ) 1013 IF ( netcdf_data_format > 1 ) THEN 912 1014 nc_stat = NF90_CREATE( filename, & 913 1015 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 914 1016 id_set_pr ) 915 #else916 message_string = 'NetCDF: no 64-bit offset allowed ' // &917 'on this machine'918 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )919 920 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pr )921 #endif922 1017 ELSE 923 1018 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pr ) … … 964 1059 ! 965 1060 !-- Create a new NetCDF output file 966 IF ( netcdf_64bit ) THEN 967 #if defined( __netcdf_64bit ) 1061 IF ( netcdf_data_format > 1 ) THEN 968 1062 nc_stat = NF90_CREATE( filename, & 969 1063 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 970 1064 id_set_ts ) 971 #else972 message_string = 'NetCDF: no 64-bit offset allowed ' // &973 'on this machine'974 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )975 976 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_ts )977 #endif978 1065 ELSE 979 1066 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_ts ) … … 998 1085 ENDIF 999 1086 ! 1000 !-- Inquire, if there is a NetCDF file from a previ uos run. This should1087 !-- Inquire, if there is a NetCDF file from a previous run. This should 1001 1088 !-- be opened for extension, if its dimensions and variables match the 1002 1089 !-- actual run. … … 1005 1092 IF ( netcdf_extend ) THEN 1006 1093 ! 1007 !-- Open an existing NetCDF file for output 1094 !-- Open an existing NetCDF file for output 1095 #if defined( __netcdf4 ) 1096 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_3d(av), & 1097 COMM = comm2d, INFO = MPI_INFO_NULL ) 1098 #else 1008 1099 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_3d(av) ) 1100 #endif 1009 1101 CALL handle_netcdf_error( 'check_open', 35 ) 1010 1102 ! … … 1026 1118 IF ( .NOT. netcdf_extend ) THEN 1027 1119 ! 1028 !-- Create a new NetCDF output file 1029 IF ( netcdf_64bit_3d ) THEN 1030 #if defined( __netcdf_64bit ) 1120 !-- Create a new NetCDF output file with requested NetCDF format 1121 IF ( netcdf_data_format == 1 ) THEN 1122 ! 1123 !-- Classic NetCDF format 1124 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_3d(av) ) 1125 1126 ELSEIF ( netcdf_data_format == 2 ) THEN 1127 ! 1128 !-- 64bit-offset format 1031 1129 nc_stat = NF90_CREATE( filename, & 1032 1130 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 1033 1131 id_set_3d(av) ) 1034 #else 1035 message_string = 'NetCDF: no 64-bit offset allowed ' // & 1036 'on this machine' 1037 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 ) 1038 1039 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_3d(av) ) 1040 #endif 1041 ELSE 1042 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_3d(av) ) 1043 ENDIF 1132 1133 #if defined( __netcdf4 ) 1134 ELSEIF ( netcdf_data_format == 3 ) THEN 1135 ! 1136 !-- NetCDF4/HDF5 format 1137 nc_stat = NF90_CREATE( filename, & 1138 OR( NF90_NOCLOBBER, NF90_NETCDF4 ), & 1139 id_set_3d(av), COMM = comm2d, & 1140 INFO = MPI_INFO_NULL ) 1141 1142 ELSEIF ( netcdf_data_format == 4 ) THEN 1143 ! 1144 !-- NetCDF4/HDF5 format with classic model flag 1145 nc_stat = NF90_CREATE( filename, & 1146 OR( NF90_NOCLOBBER, & 1147 OR( NF90_CLASSIC_MODEL, NF90_HDF5 ) ), & 1148 id_set_3d(av), COMM = comm2d, & 1149 INFO = MPI_INFO_NULL ) 1150 #endif 1151 ENDIF 1152 1044 1153 CALL handle_netcdf_error( 'check_open', 37 ) 1154 1045 1155 ! 1046 1156 !-- Define the header 1047 1157 CALL define_netcdf_header( '3d', netcdf_extend, av ) 1158 1159 ! 1160 !-- In case of parallel NetCDF output, create flag file which tells 1161 !-- combine_plot_fields that nothing is to do. 1162 IF ( myid == 0 .AND. netcdf_data_format > 2 ) THEN 1163 OPEN( 99, FILE='NO_COMBINE_PLOT_FIELDS_3D' ) 1164 WRITE ( 99, '(A)' ) 'no combine_plot_fields.x neccessary' 1165 CLOSE( 99 ) 1166 ENDIF 1048 1167 1049 1168 ENDIF … … 1085 1204 ! 1086 1205 !-- Create a new NetCDF output file 1087 IF ( netcdf_64bit ) THEN 1088 #if defined( __netcdf_64bit ) 1206 IF ( netcdf_data_format > 1 ) THEN 1089 1207 nc_stat = NF90_CREATE( filename, & 1090 1208 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 1091 1209 id_set_sp ) 1092 #else1093 message_string = 'NetCDF: no 64-bit offset allowed ' // &1094 'on this machine'1095 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )1096 1097 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_sp )1098 #endif1099 1210 ELSE 1100 1211 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_sp ) … … 1162 1273 ! 1163 1274 !-- Create a new NetCDF output file 1164 IF ( netcdf_64bit ) THEN 1165 #if defined( __netcdf_64bit ) 1275 IF ( netcdf_data_format > 1 ) THEN 1166 1276 nc_stat = NF90_CREATE( filename, & 1167 1277 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 1168 1278 id_set_prt ) 1169 #else1170 message_string = 'NetCDF: no 64-bit offset allowed ' // &1171 'on this machine'1172 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )1173 1174 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_prt )1175 #endif1176 1279 ELSE 1177 1280 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_prt ) … … 1219 1322 ! 1220 1323 !-- Create a new NetCDF output file 1221 IF ( netcdf_64bit ) THEN 1222 #if defined( __netcdf_64bit ) 1324 IF ( netcdf_data_format > 1 ) THEN 1223 1325 nc_stat = NF90_CREATE( filename, & 1224 1326 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 1225 1327 id_set_pts ) 1226 #else1227 message_string = 'NetCDF: no 64-bit offset allowed ' // &1228 'on this machine'1229 CALL message( 'check_open', 'PA0171', 0, 1, 0, 6, 0 )1230 1231 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pts )1232 #endif1233 1328 ELSE 1234 1329 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pts ) … … 1266 1361 !-- Open an existing NetCDF file for output 1267 1362 #if defined( __netcdf4 ) 1268 nc_stat = NF90_OPEN _PAR( filename, NF90_WRITE, comm2d, &1269 MPI_INFO_NULL, id_set_mask(mid,av))1363 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_mask(mid,av), & 1364 COMM = comm2d, INFO = MPI_INFO_NULL ) 1270 1365 #else 1271 1366 nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_mask(mid,av) ) … … 1290 1385 IF ( .NOT. netcdf_extend ) THEN 1291 1386 ! 1292 !-- Create a new NetCDF output file 1293 SELECT CASE ( nc_format_mask(mid,av) ) 1294 1295 CASE ( 1 ) 1296 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, & 1297 id_set_mask(mid,av) ) 1298 1299 CASE ( 2 ) 1300 #if defined( __netcdf_64bit ) 1301 nc_stat = NF90_CREATE( filename, OR( NF90_NOCLOBBER, & 1302 NF90_64BIT_OFFSET ), id_set_mask(mid,av) ) 1303 #else 1304 WRITE( message_string, * ) 'NetCDF: no 64-bit ', & 1305 'offset format allowed on this machine' 1306 CALL message( 'check_open', 'PA9998', 0, 1, 0, 6, 0 ) 1307 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, & 1308 id_set_mask(mid,av) ) 1309 #endif 1310 1311 CASE ( 3 ) 1387 !-- Create a new NetCDF output file with requested NetCDF format 1388 IF ( netcdf_data_format == 1 ) THEN 1389 ! 1390 !-- Classic NetCDF format 1391 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, & 1392 id_set_mask(mid,av) ) 1393 1394 ELSEIF ( netcdf_data_format == 2 ) THEN 1395 ! 1396 !-- 64bit-offset format 1397 nc_stat = NF90_CREATE( filename, & 1398 OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),& 1399 id_set_mask(mid,av) ) 1400 1401 1312 1402 #if defined( __netcdf4 ) 1313 nc_stat = NF90_CREATE_PAR( filename, OR( NF90_NOCLOBBER, & 1314 NF90_NETCDF4 ), comm2d, MPI_INFO_NULL, & 1315 id_set_mask(mid,av) ) 1316 #else 1317 WRITE( message_string, * ) 'NetCDF: no NetCDF 4 ', & 1318 'format allowed on this machine' 1319 CALL message( 'check_open', 'PA9998', 0, 1, 0, 6, 0 ) 1320 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, & 1321 id_set_mask(mid,av) ) 1322 #endif 1323 1324 CASE ( 4 ) 1325 #if defined( __netcdf4 ) 1326 nc_stat = NF90_CREATE_PAR( filename, OR( NF90_NOCLOBBER, & 1327 NF90_CLASSIC_MODEL ), comm2d, & 1328 MPI_INFO_NULL, id_set_mask(mid,av) ) 1329 #else 1330 WRITE( message_string, * ) 'NetCDF: no NetCDF 4 (Classic ', & 1331 'model) format allowed on this machine' 1332 CALL message( 'check_open', 'PA9998', 0, 1, 0, 6, 0 ) 1333 nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, & 1334 id_set_mask(mid,av) ) 1335 #endif 1336 1337 CASE DEFAULT 1338 WRITE( message_string, * ) 'illegal NetCDF file format: ', & 1339 'nc_format_mask(mid=',mid,',av=',av,')=', & 1340 nc_format_mask(mid,av) 1341 CALL message( 'check_open', 'PA9998', 2, 2, 0, 6, 0 ) 1342 1343 END SELECT 1403 ELSEIF ( netcdf_data_format == 3 ) THEN 1404 ! 1405 !-- NetCDF4/HDF5 format 1406 nc_stat = NF90_CREATE( filename, & 1407 OR( NF90_NOCLOBBER, NF90_NETCDF4 ), & 1408 id_set_mask(mid,av), COMM = comm2d, & 1409 INFO = MPI_INFO_NULL ) 1410 1411 ELSEIF ( netcdf_data_format == 4 ) THEN 1412 ! 1413 !-- NetCDF4/HDF5 format with classic model flag 1414 nc_stat = NF90_CREATE( filename, & 1415 OR( NF90_NOCLOBBER, & 1416 OR( NF90_CLASSIC_MODEL, NF90_HDF5 ) ), & 1417 id_set_mask(mid,av), COMM = comm2d, & 1418 INFO = MPI_INFO_NULL ) 1419 #endif 1420 ENDIF 1421 1344 1422 CALL handle_netcdf_error( 'check_open', 9998 ) 1345 1423 ! -
palm/trunk/SOURCE/check_parameters.f90
r484 r493 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! netcdf_data_format is checked 7 7 ! 8 8 ! Former revisions: … … 2692 2692 2693 2693 ! 2694 !-- Check the NetCDF data format 2695 IF ( netcdf_data_format > 2 ) THEN 2696 #if defined( __netcdf4 ) 2697 CONTINUE 2698 #else 2699 message_string = 'NetCDF: NetCDF4 format requested but no ' // & 2700 'cpp-directive __netcdf4 given & switch ' // & 2701 'back to 64-bit offset format' 2702 CALL message( 'check_parameters', 'PA0171', 0, 1, 0, 6, 0 ) 2703 netcdf_data_format = 2 2704 #endif 2705 ENDIF 2706 2707 ! 2694 2708 !-- Check netcdf precison 2695 2709 ldum = .FALSE. -
palm/trunk/SOURCE/close_file.f90
r449 r493 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! Adjustments for NetCDF parallel data output 7 7 ! 8 8 ! Former revisions: … … 409 409 CASE ( 101 ) 410 410 411 IF ( myid == 0 .AND. netcdf_output ) THEN 411 IF ( netcdf_output .AND. & 412 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 412 413 nc_stat = NF90_CLOSE( id_set_xy(0) ) 413 414 CALL handle_netcdf_error( 'close_file', 44 ) … … 416 417 CASE ( 102 ) 417 418 418 IF ( myid == 0 .AND. netcdf_output ) THEN 419 IF ( netcdf_output .AND. & 420 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 419 421 nc_stat = NF90_CLOSE( id_set_xz(0) ) 420 422 CALL handle_netcdf_error( 'close_file', 45 ) … … 423 425 CASE ( 103 ) 424 426 425 IF ( myid == 0 .AND. netcdf_output ) THEN 427 IF ( netcdf_output .AND. & 428 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 426 429 nc_stat = NF90_CLOSE( id_set_yz(0) ) 427 430 CALL handle_netcdf_error( 'close_file', 46 ) … … 444 447 CASE ( 106 ) 445 448 446 IF ( myid == 0 .AND. netcdf_output ) THEN 449 IF ( netcdf_output .AND. & 450 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 447 451 nc_stat = NF90_CLOSE( id_set_3d(0) ) 448 452 CALL handle_netcdf_error( 'close_file', 49 ) … … 472 476 CASE ( 111 ) 473 477 474 IF ( myid == 0 .AND. netcdf_output ) THEN 478 IF ( netcdf_output .AND. & 479 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 475 480 nc_stat = NF90_CLOSE( id_set_xy(1) ) 476 481 CALL handle_netcdf_error( 'close_file', 52 ) … … 479 484 CASE ( 112 ) 480 485 481 IF ( myid == 0 .AND. netcdf_output ) THEN 486 IF ( netcdf_output .AND. & 487 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 482 488 nc_stat = NF90_CLOSE( id_set_xz(1) ) 483 489 CALL handle_netcdf_error( 'close_file', 352 ) … … 486 492 CASE ( 113 ) 487 493 488 IF ( myid == 0 .AND. netcdf_output ) THEN 494 IF ( netcdf_output .AND. & 495 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 489 496 nc_stat = NF90_CLOSE( id_set_yz(1) ) 490 497 CALL handle_netcdf_error( 'close_file', 353 ) … … 493 500 CASE ( 116 ) 494 501 495 IF ( myid == 0 .AND. netcdf_output ) THEN 502 IF ( netcdf_output .AND. & 503 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 496 504 nc_stat = NF90_CLOSE( id_set_3d(1) ) 497 505 CALL handle_netcdf_error( 'close_file', 353 ) … … 500 508 CASE ( 121:160 ) 501 509 502 IF ( format_parallel_io ) THEN 510 IF ( netcdf_output .AND. & 511 ( myid == 0 .OR. netcdf_data_format > 2 ) ) THEN 503 512 ! 504 513 !-- decompose fid into mid and av … … 513 522 CALL handle_netcdf_error( 'close_file', 9998 ) 514 523 515 ELSEIF ( myid == 0 .AND. netcdf_output ) THEN516 !517 !-- decompose fid into mid and av518 IF ( fid <= 140 ) THEN519 mid = fid - 120520 av = 0521 ELSE522 mid = fid - 140523 av = 1524 ENDIF525 nc_stat = NF90_CLOSE( id_set_mask(mid,av) )526 CALL handle_netcdf_error( 'close_file', 9998 )527 528 524 ENDIF 529 525 -
palm/trunk/SOURCE/data_output_2d.f90
r392 r493 73 73 CHARACTER (LEN=25) :: section_chr 74 74 CHARACTER (LEN=50) :: rtext 75 INTEGER :: av, ngp, file_id, i, if, is, j, k, l, layer_xy, n, psi, s, &76 s ender, &75 INTEGER :: av, ngp, file_id, i, if, is, iis, j, k, l, layer_xy, n, psi, & 76 s, sender, & 77 77 ind(4) 78 78 LOGICAL :: found, resorted, two_d … … 110 110 ALLOCATE( level_z(0:nzt+1), local_2d(nxl-1:nxr+1,nys-1:nyn+1) ) 111 111 112 #if defined( __netcdf ) 113 IF ( myid == 0 .AND. netcdf_output ) CALL check_open( 101+av*10 ) 114 #endif 112 ! 113 !-- Classic and 64bit offset NetCDF output is done only on PE0. 114 !-- netCDF4/HDF5 output is done in parallel on all PEs. 115 IF ( netcdf_output .AND. ( myid == 0 .OR. netcdf_data_format > 2 ) ) & 116 THEN 117 CALL check_open( 101+av*10 ) 118 ENDIF 115 119 116 120 IF ( data_output_2d_on_each_pe ) THEN … … 130 134 ALLOCATE( local_2d(nxl-1:nxr+1,nzb:nzt+1) ) 131 135 132 #if defined( __netcdf ) 133 IF ( myid == 0 .AND. netcdf_output ) CALL check_open( 102+av*10 ) 134 #endif 136 ! 137 !-- Classic and 64bit offset NetCDF output is done only on PE0. 138 !-- netCDF4/HDF5 output may be done in parallel on all PEs. 139 IF ( netcdf_output .AND. ( myid == 0 .OR. netcdf_data_format > 2 ) ) & 140 THEN 141 CALL check_open( 102+av*10 ) 142 ENDIF 135 143 136 144 IF ( data_output_2d_on_each_pe ) THEN … … 150 158 ALLOCATE( local_2d(nys-1:nyn+1,nzb:nzt+1) ) 151 159 152 #if defined( __netcdf ) 153 IF ( myid == 0 .AND. netcdf_output ) CALL check_open( 103+av*10 ) 154 #endif 160 ! 161 !-- Classic and 64bit offset NetCDF output is done only on PE0. 162 !-- netCDF4/HDF5 output may be done in parallel on all PEs. 163 IF ( netcdf_output .AND. ( myid == 0 .OR. netcdf_data_format > 2 ) ) & 164 THEN 165 CALL check_open( 103+av*10 ) 166 ENDIF 155 167 156 168 IF ( data_output_2d_on_each_pe ) THEN … … 603 615 ! 604 616 !-- Update the NetCDF xy cross section time axis 605 IF ( myid == 0 ) THEN617 IF ( myid == 0 .OR. netcdf_data_format > 2 ) THEN 606 618 IF ( simulated_time /= do2d_xy_last_time(av) ) THEN 607 619 do2d_xy_time_count(av) = do2d_xy_time_count(av) + 1 608 620 do2d_xy_last_time(av) = simulated_time 609 IF ( .NOT. data_output_2d_on_each_pe .AND. & 610 netcdf_output ) THEN 621 IF ( ( .NOT. data_output_2d_on_each_pe .AND. & 622 netcdf_output ) .OR. netcdf_data_format > 2 ) & 623 THEN 611 624 #if defined( __netcdf ) 612 625 nc_stat = NF90_PUT_VAR( id_set_xy(av), & … … 615 628 start = (/ do2d_xy_time_count(av) /), & 616 629 count = (/ 1 /) ) 617 CALL handle_netcdf_error( 'data_output_2d', 53 )630 CALL handle_netcdf_error( 'data_output_2d', 53 ) 618 631 #endif 619 632 ENDIF … … 645 658 646 659 #if defined( __parallel ) 647 IF ( data_output_2d_on_each_pe ) THEN 648 ! 649 !-- Output of partial arrays on each PE 660 IF ( netcdf_output .AND. netcdf_data_format > 2 ) THEN 661 ! 662 !-- Output in NetCDF4/HDF5 format. 663 !-- Do not output redundant ghost point data except for the 664 !-- boundaries of the total domain. 665 IF ( two_d ) THEN 666 iis = 1 667 ELSE 668 iis = is 669 ENDIF 670 650 671 #if defined( __netcdf ) 651 IF ( netcdf_output .AND. myid == 0 ) THEN 652 WRITE ( 21 ) simulated_time, do2d_xy_time_count(av), & 653 av 654 ENDIF 655 #endif 656 WRITE ( 21 ) nxl-1, nxr+1, nys-1, nyn+1 657 WRITE ( 21 ) local_2d 658 672 IF ( nxr == nx .AND. nyn /= ny ) THEN 673 nc_stat = NF90_PUT_VAR( id_set_xy(av), & 674 id_var_do2d(av,if), & 675 local_2d(nxl:nxr+1,nys:nyn), & 676 start = (/ nxl+1, nys+1, iis, & 677 do2d_xy_time_count(av) /), & 678 count = (/ nxr-nxl+2, & 679 nyn-nys+1, 1, 1 /) ) 680 ELSEIF ( nxr /= nx .AND. nyn == ny ) THEN 681 nc_stat = NF90_PUT_VAR( id_set_xy(av), & 682 id_var_do2d(av,if), & 683 local_2d(nxl:nxr,nys:nyn+1), & 684 start = (/ nxl+1, nys+1, iis, & 685 do2d_xy_time_count(av) /), & 686 count = (/ nxr-nxl+1, & 687 nyn-nys+2, 1, 1 /) ) 688 ELSEIF ( nxr == nx .AND. nyn == ny ) THEN 689 nc_stat = NF90_PUT_VAR( id_set_xy(av), & 690 id_var_do2d(av,if), & 691 local_2d(nxl:nxr+1,nys:nyn+1),& 692 start = (/ nxl+1, nys+1, iis, & 693 do2d_xy_time_count(av) /), & 694 count = (/ nxr-nxl+2, & 695 nyn-nys+2, 1, 1 /) ) 696 ELSE 697 nc_stat = NF90_PUT_VAR( id_set_xy(av), & 698 id_var_do2d(av,if), & 699 local_2d(nxl:nxr,nys:nyn), & 700 start = (/ nxl+1, nys+1, iis, & 701 do2d_xy_time_count(av) /), & 702 count = (/ nxr-nxl+1, & 703 nyn-nys+1, 1, 1 /) ) 704 ENDIF 705 706 CALL handle_netcdf_error( 'data_output_2d', 55 ) 707 #endif 659 708 ELSE 660 ! 661 !-- PE0 receives partial arrays from all processors and then 662 !-- outputs them. Here a barrier has to be set, because 663 !-- otherwise "-MPI- FATAL: Remote protocol queue full" may 664 !-- occur. 665 CALL MPI_BARRIER( comm2d, ierr ) 666 667 ngp = ( nxr-nxl+3 ) * ( nyn-nys+3 ) 668 IF ( myid == 0 ) THEN 669 ! 670 !-- Local array can be relocated directly. 671 total_2d(nxl-1:nxr+1,nys-1:nyn+1) = local_2d 672 ! 673 !-- Receive data from all other PEs. 674 DO n = 1, numprocs-1 675 ! 676 !-- Receive index limits first, then array. 677 !-- Index limits are received in arbitrary order from 678 !-- the PEs. 679 CALL MPI_RECV( ind(1), 4, MPI_INTEGER, & 680 MPI_ANY_SOURCE, 0, comm2d, status, & 681 ierr ) 682 sender = status(MPI_SOURCE) 709 710 IF ( data_output_2d_on_each_pe ) THEN 711 ! 712 !-- Output of partial arrays on each PE 713 #if defined( __netcdf ) 714 IF ( netcdf_output .AND. myid == 0 ) THEN 715 WRITE ( 21 ) simulated_time, & 716 do2d_xy_time_count(av), av 717 ENDIF 718 #endif 719 WRITE ( 21 ) nxl-1, nxr+1, nys-1, nyn+1 720 WRITE ( 21 ) local_2d 721 722 ELSE 723 ! 724 !-- PE0 receives partial arrays from all processors and 725 !-- then outputs them. Here a barrier has to be set, 726 !-- because otherwise "-MPI- FATAL: Remote protocol queue 727 !-- full" may occur. 728 CALL MPI_BARRIER( comm2d, ierr ) 729 730 ngp = ( nxr-nxl+3 ) * ( nyn-nys+3 ) 731 IF ( myid == 0 ) THEN 732 ! 733 !-- Local array can be relocated directly. 734 total_2d(nxl-1:nxr+1,nys-1:nyn+1) = local_2d 735 ! 736 !-- Receive data from all other PEs. 737 DO n = 1, numprocs-1 738 ! 739 !-- Receive index limits first, then array. 740 !-- Index limits are received in arbitrary order from 741 !-- the PEs. 742 CALL MPI_RECV( ind(1), 4, MPI_INTEGER, & 743 MPI_ANY_SOURCE, 0, comm2d, & 744 status, ierr ) 745 sender = status(MPI_SOURCE) 746 DEALLOCATE( local_2d ) 747 ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) ) 748 CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, & 749 MPI_REAL, sender, 1, comm2d, & 750 status, ierr ) 751 total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d 752 ENDDO 753 ! 754 !-- Output of the total cross-section. 755 IF ( iso2d_output ) THEN 756 WRITE (21) total_2d(0:nx+1,0:ny+1) 757 ENDIF 758 ! 759 !-- Relocate the local array for the next loop increment 683 760 DEALLOCATE( local_2d ) 684 ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) ) 685 CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, & 686 MPI_REAL, sender, 1, comm2d, & 687 status, ierr ) 688 total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d 689 ENDDO 690 ! 691 !-- Output of the total cross-section. 692 IF ( iso2d_output ) WRITE (21) total_2d(0:nx+1,0:ny+1) 693 ! 694 !-- Relocate the local array for the next loop increment 695 DEALLOCATE( local_2d ) 696 ALLOCATE( local_2d(nxl-1:nxr+1,nys-1:nyn+1) ) 761 ALLOCATE( local_2d(nxl-1:nxr+1,nys-1:nyn+1) ) 697 762 698 763 #if defined( __netcdf ) 699 IF ( netcdf_output ) THEN700 IF ( two_d ) THEN701 nc_stat = NF90_PUT_VAR( id_set_xy(av),&702 id_var_do2d(av,if),&764 IF ( netcdf_output ) THEN 765 IF ( two_d ) THEN 766 nc_stat = NF90_PUT_VAR( id_set_xy(av), & 767 id_var_do2d(av,if), & 703 768 total_2d(0:nx+1,0:ny+1), & 704 769 start = (/ 1, 1, 1, do2d_xy_time_count(av) /), & 705 770 count = (/ nx+2, ny+2, 1, 1 /) ) 706 ELSE707 nc_stat = NF90_PUT_VAR( id_set_xy(av),&708 id_var_do2d(av,if),&771 ELSE 772 nc_stat = NF90_PUT_VAR( id_set_xy(av), & 773 id_var_do2d(av,if), & 709 774 total_2d(0:nx+1,0:ny+1), & 710 775 start = (/ 1, 1, is, do2d_xy_time_count(av) /), & 711 776 count = (/ nx+2, ny+2, 1, 1 /) ) 777 ENDIF 778 CALL handle_netcdf_error( 'data_output_2d', 54 ) 712 779 ENDIF 713 CALL handle_netcdf_error( 'data_output_2d', 54 ) 714 ENDIF 715 #endif 716 717 ELSE 718 ! 719 !-- First send the local index limits to PE0 720 ind(1) = nxl-1; ind(2) = nxr+1721 ind(3) = nys-1; ind(4) = nyn+1722 CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, comm2d, & 723 ierr ) 724 ! 725 !-- Send data to PE0 726 CALL MPI_SEND( local_2d(nxl-1,nys-1), ngp, MPI_REAL, &727 0, 1, comm2d, ierr ) 728 ENDIF 729 ! 730 !-- A barrier has to be set, because otherwise some PEs may731 !-- proceed too fast so that PE0 may receive wrong data on 732 !-- tag 0 733 CALL MPI_BARRIER( comm2d, ierr ) 780 #endif 781 782 ELSE 783 ! 784 !-- First send the local index limits to PE0 785 ind(1) = nxl-1; ind(2) = nxr+1 786 ind(3) = nys-1; ind(4) = nyn+1 787 CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, & 788 comm2d, ierr ) 789 ! 790 !-- Send data to PE0 791 CALL MPI_SEND( local_2d(nxl-1,nys-1), ngp, & 792 MPI_REAL, 0, 1, comm2d, ierr ) 793 ENDIF 794 ! 795 !-- A barrier has to be set, because otherwise some PEs may 796 !-- proceed too fast so that PE0 may receive wrong data on 797 !-- tag 0 798 CALL MPI_BARRIER( comm2d, ierr ) 799 ENDIF 800 734 801 ENDIF 735 802 #else … … 752 819 count = (/ nx+2, ny+2, 1, 1 /) ) 753 820 ENDIF 754 CALL handle_netcdf_error( 'data_output_2d', 55)821 CALL handle_netcdf_error( 'data_output_2d', 447 ) 755 822 ENDIF 756 823 #endif … … 789 856 ! 790 857 !-- Update the NetCDF xz cross section time axis 791 IF ( myid == 0 ) THEN 858 IF ( myid == 0 .OR. netcdf_data_format > 2 ) THEN 859 792 860 IF ( simulated_time /= do2d_xz_last_time(av) ) THEN 793 861 do2d_xz_time_count(av) = do2d_xz_time_count(av) + 1 794 862 do2d_xz_last_time(av) = simulated_time 795 IF ( .NOT. data_output_2d_on_each_pe .AND. & 796 netcdf_output ) THEN 863 IF ( ( .NOT. data_output_2d_on_each_pe .AND. & 864 netcdf_output ) .OR. netcdf_data_format > 2 ) & 865 THEN 797 866 #if defined( __netcdf ) 798 867 nc_stat = NF90_PUT_VAR( id_set_xz(av), & … … 801 870 start = (/ do2d_xz_time_count(av) /), & 802 871 count = (/ 1 /) ) 803 CALL handle_netcdf_error( 'data_output_2d', 56 ) 804 #endif 805 ENDIF 806 ENDIF 872 CALL handle_netcdf_error( 'data_output_2d', 56 ) 873 #endif 874 ENDIF 875 ENDIF 876 807 877 ENDIF 808 878 ! … … 848 918 849 919 #if defined( __parallel ) 850 IF ( data_output_2d_on_each_pe ) THEN 851 ! 852 !-- Output of partial arrays on each PE. If the cross section 853 !-- does not reside on the PE, output special index values. 920 IF ( netcdf_output .AND. netcdf_data_format > 2 ) THEN 921 ! 922 !-- ATTENTION: The following lines are a workaround, because 923 !-- independet output does not work with the 924 !-- current NetCDF4 installation. Therefore, data 925 !-- are transferred from PEs having the cross 926 !-- sections to other PEs along y having no cross 927 !-- section data. Some of these data are the 928 !-- output. 929 !-- BEGIN WORKAROUND--------------------------------------- 930 IF ( npey /= 1 .AND. section(is,s) /= -1) THEN 931 ALLOCATE( local_2d_l(nxl-1:nxr+1,nzb:nzt+1) ) 932 local_2d_l = 0.0 933 IF ( section(is,s) >= nys .AND. section(is,s) <= nyn )& 934 THEN 935 local_2d_l = local_2d 936 ENDIF 937 #if defined( __parallel ) 938 ! 939 !-- Distribute data over all PEs along y 940 ngp = ( nxr-nxl+3 ) * ( nzt-nzb+2 ) 941 CALL MPI_ALLREDUCE( local_2d_l(nxl-1,nzb), & 942 local_2d(nxl-1,nzb), ngp, & 943 MPI_REAL, MPI_SUM, comm1dy, ierr ) 944 #else 945 local_2d = local_2d_l 946 #endif 947 DEALLOCATE( local_2d_l ) 948 ENDIF 949 !-- END WORKAROUND----------------------------------------- 950 951 ! 952 !-- Output in NetCDF4/HDF5 format. 953 !-- Output only on those PEs where the respective cross 954 !-- sections reside. Cross sections averaged along y are 955 !-- output on the respective first PE along y (myidy=0). 956 IF ( ( section(is,s) >= nys .AND. & 957 section(is,s) <= nyn ) .OR. & 958 ( section(is,s) == -1 .AND. myidy == 0 ) ) THEN 959 ! 960 !-- Do not output redundant ghost point data except for the 961 !-- boundaries of the total domain. 854 962 #if defined( __netcdf ) 855 IF ( netcdf_output .AND. myid == 0 ) THEN 856 WRITE ( 22 ) simulated_time, do2d_xz_time_count(av), & 857 av 858 ENDIF 859 #endif 860 IF ( ( section(is,s)>=nys .AND. section(is,s)<=nyn ) .OR.& 861 ( section(is,s) == -1 .AND. nys-1 == -1 ) ) & 862 THEN 863 WRITE (22) nxl-1, nxr+1, nzb, nzt+1 864 WRITE (22) local_2d 963 IF ( nxr == nx ) THEN 964 nc_stat = NF90_PUT_VAR( id_set_xz(av), & 965 id_var_do2d(av,if), & 966 local_2d(nxl:nxr+1,nzb:nzt+1), & 967 start = (/ nxl+1, is, 1, & 968 do2d_xz_time_count(av) /), & 969 count = (/ nxr-nxl+2, 1, & 970 nzt+2, 1 /) ) 971 ELSE 972 nc_stat = NF90_PUT_VAR( id_set_xz(av), & 973 id_var_do2d(av,if), & 974 local_2d(nxl:nxr,nzb:nzt+1), & 975 start = (/ nxl+1, is, 1, & 976 do2d_xz_time_count(av) /), & 977 count = (/ nxr-nxl+1, 1, & 978 nzt+2, 1 /) ) 979 ENDIF 980 981 CALL handle_netcdf_error( 'data_output_2d', 57 ) 982 865 983 ELSE 866 WRITE (22) -1, -1, -1, -1 984 ! 985 !-- Output on other PEs. Only one point is output!! 986 !-- ATTENTION: This is a workaround (see above)!! 987 IF ( npey /= 1 ) THEN 988 nc_stat = NF90_PUT_VAR( id_set_xz(av), & 989 id_var_do2d(av,if), & 990 local_2d(nxl:nxl,nzb:nzb), & 991 start = (/ nxl+1, is, 1, & 992 do2d_xz_time_count(av) /), & 993 count = (/ 1, 1, 1, 1 /) ) 994 CALL handle_netcdf_error( 'data_output_2d', 451 ) 995 ENDIF 996 #endif 867 997 ENDIF 868 998 869 999 ELSE 870 ! 871 !-- PE0 receives partial arrays from all processors of the 872 !-- respective cross section and outputs them. Here a 873 !-- barrier has to be set, because otherwise 874 !-- "-MPI- FATAL: Remote protocol queue full" may occur. 875 CALL MPI_BARRIER( comm2d, ierr ) 876 877 ngp = ( nxr-nxl+3 ) * ( nzt-nzb+2 ) 878 IF ( myid == 0 ) THEN 879 ! 880 !-- Local array can be relocated directly. 881 IF ( ( section(is,s)>=nys .AND. section(is,s)<=nyn ) & 882 .OR. ( section(is,s) == -1 .AND. nys-1 == -1 ) ) & 1000 1001 IF ( data_output_2d_on_each_pe ) THEN 1002 ! 1003 !-- Output of partial arrays on each PE. If the cross 1004 !-- section does not reside on the PE, output special 1005 !-- index values. 1006 #if defined( __netcdf ) 1007 IF ( netcdf_output .AND. myid == 0 ) THEN 1008 WRITE ( 22 ) simulated_time, & 1009 do2d_xz_time_count(av), av 1010 ENDIF 1011 #endif 1012 IF ( ( section(is,s) >= nys .AND. & 1013 section(is,s) <= nyn ) .OR. & 1014 ( section(is,s) == -1 .AND. nys-1 == -1 ) ) & 883 1015 THEN 884 total_2d(nxl-1:nxr+1,nzb:nzt+1) = local_2d 885 ENDIF 886 ! 887 !-- Receive data from all other PEs. 888 DO n = 1, numprocs-1 889 ! 890 !-- Receive index limits first, then array. 891 !-- Index limits are received in arbitrary order from 892 !-- the PEs. 893 CALL MPI_RECV( ind(1), 4, MPI_INTEGER, & 894 MPI_ANY_SOURCE, 0, comm2d, status, & 895 ierr ) 896 ! 897 !-- Not all PEs have data for XZ-cross-section. 898 IF ( ind(1) /= -9999 ) THEN 899 sender = status(MPI_SOURCE) 900 DEALLOCATE( local_2d ) 901 ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) ) 902 CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, & 903 MPI_REAL, sender, 1, comm2d, & 1016 WRITE (22) nxl-1, nxr+1, nzb, nzt+1 1017 WRITE (22) local_2d 1018 ELSE 1019 WRITE (22) -1, -1, -1, -1 1020 ENDIF 1021 1022 ELSE 1023 ! 1024 !-- PE0 receives partial arrays from all processors of the 1025 !-- respective cross section and outputs them. Here a 1026 !-- barrier has to be set, because otherwise 1027 !-- "-MPI- FATAL: Remote protocol queue full" may occur. 1028 CALL MPI_BARRIER( comm2d, ierr ) 1029 1030 ngp = ( nxr-nxl+3 ) * ( nzt-nzb+2 ) 1031 IF ( myid == 0 ) THEN 1032 ! 1033 !-- Local array can be relocated directly. 1034 IF ( ( section(is,s) >= nys .AND. & 1035 section(is,s) <= nyn ) .OR. & 1036 ( section(is,s) == -1 .AND. nys-1 == -1 ) ) & 1037 THEN 1038 total_2d(nxl-1:nxr+1,nzb:nzt+1) = local_2d 1039 ENDIF 1040 ! 1041 !-- Receive data from all other PEs. 1042 DO n = 1, numprocs-1 1043 ! 1044 !-- Receive index limits first, then array. 1045 !-- Index limits are received in arbitrary order from 1046 !-- the PEs. 1047 CALL MPI_RECV( ind(1), 4, MPI_INTEGER, & 1048 MPI_ANY_SOURCE, 0, comm2d, & 904 1049 status, ierr ) 905 total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d 1050 ! 1051 !-- Not all PEs have data for XZ-cross-section. 1052 IF ( ind(1) /= -9999 ) THEN 1053 sender = status(MPI_SOURCE) 1054 DEALLOCATE( local_2d ) 1055 ALLOCATE( local_2d(ind(1):ind(2), & 1056 ind(3):ind(4)) ) 1057 CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, & 1058 MPI_REAL, sender, 1, comm2d, & 1059 status, ierr ) 1060 total_2d(ind(1):ind(2),ind(3):ind(4)) = & 1061 local_2d 1062 ENDIF 1063 ENDDO 1064 ! 1065 !-- Output of the total cross-section. 1066 IF ( iso2d_output ) THEN 1067 WRITE (22) total_2d(0:nx+1,nzb:nzt+1) 906 1068 ENDIF 907 ENDDO 908 ! 909 !-- Output of the total cross-section. 910 IF ( iso2d_output ) THEN 911 WRITE (22) total_2d(0:nx+1,nzb:nzt+1) 912 ENDIF 913 ! 914 !-- Relocate the local array for the next loop increment 915 DEALLOCATE( local_2d ) 916 ALLOCATE( local_2d(nxl-1:nxr+1,nzb:nzt+1) ) 1069 ! 1070 !-- Relocate the local array for the next loop increment 1071 DEALLOCATE( local_2d ) 1072 ALLOCATE( local_2d(nxl-1:nxr+1,nzb:nzt+1) ) 917 1073 918 1074 #if defined( __netcdf ) 919 IF ( netcdf_output ) THEN920 nc_stat = NF90_PUT_VAR( id_set_xz(av),&1075 IF ( netcdf_output ) THEN 1076 nc_stat = NF90_PUT_VAR( id_set_xz(av), & 921 1077 id_var_do2d(av,if), & 922 1078 total_2d(0:nx+1,nzb:nzt+1),& 923 1079 start = (/ 1, is, 1, do2d_xz_time_count(av) /), & 924 1080 count = (/ nx+2, 1, nz+2, 1 /) ) 925 CALL handle_netcdf_error( 'data_output_2d', 57 ) 926 ENDIF 927 #endif 928 929 ELSE 930 ! 931 !-- If the cross section resides on the PE, send the 932 !-- local index limits, otherwise send -9999 to PE0. 933 IF ( ( section(is,s)>=nys .AND. section(is,s)<=nyn ) & 934 .OR. ( section(is,s) == -1 .AND. nys-1 == -1 ) ) & 935 THEN 936 ind(1) = nxl-1; ind(2) = nxr+1 937 ind(3) = nzb; ind(4) = nzt+1 1081 CALL handle_netcdf_error( 'data_output_2d', 58 ) 1082 ENDIF 1083 #endif 1084 938 1085 ELSE 939 ind(1) = -9999; ind(2) = -9999 940 ind(3) = -9999; ind(4) = -9999 941 ENDIF 942 CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, comm2d, & 943 ierr ) 944 ! 945 !-- If applicable, send data to PE0. 946 IF ( ind(1) /= -9999 ) THEN 947 CALL MPI_SEND( local_2d(nxl-1,nzb), ngp, MPI_REAL, & 948 0, 1, comm2d, ierr ) 949 ENDIF 950 ENDIF 951 ! 952 !-- A barrier has to be set, because otherwise some PEs may 953 !-- proceed too fast so that PE0 may receive wrong data on 954 !-- tag 0 955 CALL MPI_BARRIER( comm2d, ierr ) 1086 ! 1087 !-- If the cross section resides on the PE, send the 1088 !-- local index limits, otherwise send -9999 to PE0. 1089 IF ( ( section(is,s) >= nys .AND. & 1090 section(is,s) <= nyn ) .OR. & 1091 ( section(is,s) == -1 .AND. nys-1 == -1 ) ) & 1092 THEN 1093 ind(1) = nxl-1; ind(2) = nxr+1 1094 ind(3) = nzb; ind(4) = nzt+1 1095 ELSE 1096 ind(1) = -9999; ind(2) = -9999 1097 ind(3) = -9999; ind(4) = -9999 1098 ENDIF 1099 CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, & 1100 comm2d, ierr ) 1101 ! 1102 !-- If applicable, send data to PE0. 1103 IF ( ind(1) /= -9999 ) THEN 1104 CALL MPI_SEND( local_2d(nxl-1,nzb), ngp, & 1105 MPI_REAL, 0, 1, comm2d, ierr ) 1106 ENDIF 1107 ENDIF 1108 ! 1109 !-- A barrier has to be set, because otherwise some PEs may 1110 !-- proceed too fast so that PE0 may receive wrong data on 1111 !-- tag 0 1112 CALL MPI_BARRIER( comm2d, ierr ) 1113 ENDIF 1114 956 1115 ENDIF 957 1116 #else … … 966 1125 start = (/ 1, is, 1, do2d_xz_time_count(av) /), & 967 1126 count = (/ nx+2, 1, nz+2, 1 /) ) 968 CALL handle_netcdf_error( 'data_output_2d', 58)1127 CALL handle_netcdf_error( 'data_output_2d', 451 ) 969 1128 ENDIF 970 1129 #endif … … 995 1154 CASE ( 'yz' ) 996 1155 ! 997 !-- Update the NetCDF xy cross section time axis 998 IF ( myid == 0 ) THEN 1156 !-- Update the NetCDF yz cross section time axis 1157 IF ( myid == 0 .OR. netcdf_data_format > 2 ) THEN 1158 999 1159 IF ( simulated_time /= do2d_yz_last_time(av) ) THEN 1000 1160 do2d_yz_time_count(av) = do2d_yz_time_count(av) + 1 1001 1161 do2d_yz_last_time(av) = simulated_time 1002 IF ( .NOT. data_output_2d_on_each_pe .AND. & 1003 netcdf_output ) THEN 1162 IF ( ( .NOT. data_output_2d_on_each_pe .AND. & 1163 netcdf_output ) .OR. netcdf_data_format > 2 ) & 1164 THEN 1004 1165 #if defined( __netcdf ) 1005 1166 nc_stat = NF90_PUT_VAR( id_set_yz(av), & … … 1012 1173 ENDIF 1013 1174 ENDIF 1175 1014 1176 ENDIF 1015 1177 ! … … 1055 1217 1056 1218 #if defined( __parallel ) 1057 IF ( data_output_2d_on_each_pe ) THEN 1058 ! 1059 !-- Output of partial arrays on each PE. If the cross section 1060 !-- does not reside on the PE, output special index values. 1219 IF ( netcdf_output .AND. netcdf_data_format > 2 ) THEN 1220 ! 1221 !-- ATTENTION: The following lines are a workaround, because 1222 !-- independet output does not work with the 1223 !-- current NetCDF4 installation. Therefore, data 1224 !-- are transferred from PEs having the cross 1225 !-- sections to other PEs along y having no cross 1226 !-- section data. Some of these data are the 1227 !-- output. 1228 !-- BEGIN WORKAROUND--------------------------------------- 1229 IF ( npex /= 1 .AND. section(is,s) /= -1) THEN 1230 ALLOCATE( local_2d_l(nys-1:nyn+1,nzb:nzt+1) ) 1231 local_2d_l = 0.0 1232 IF ( section(is,s) >= nxl .AND. section(is,s) <= nxr )& 1233 THEN 1234 local_2d_l = local_2d 1235 ENDIF 1236 #if defined( __parallel ) 1237 ! 1238 !-- Distribute data over all PEs along x 1239 ngp = ( nyn-nys+3 ) * ( nzt-nzb+2 ) 1240 CALL MPI_ALLREDUCE( local_2d_l(nys-1,nzb), & 1241 local_2d(nys-1,nzb), ngp, & 1242 MPI_REAL, MPI_SUM, comm1dx, ierr ) 1243 #else 1244 local_2d = local_2d_l 1245 #endif 1246 DEALLOCATE( local_2d_l ) 1247 ENDIF 1248 !-- END WORKAROUND----------------------------------------- 1249 1250 ! 1251 !-- Output in NetCDF4/HDF5 format. 1252 !-- Output only on those PEs where the respective cross 1253 !-- sections reside. Cross sections averaged along x are 1254 !-- output on the respective first PE along x (myidx=0). 1255 IF ( ( section(is,s) >= nxl .AND. & 1256 section(is,s) <= nxr ) .OR. & 1257 ( section(is,s) == -1 .AND. myidx == 0 ) ) THEN 1258 ! 1259 !-- Do not output redundant ghost point data except for the 1260 !-- boundaries of the total domain. 1061 1261 #if defined( __netcdf ) 1062 IF ( netcdf_output .AND. myid == 0 ) THEN 1063 WRITE ( 23 ) simulated_time, do2d_yz_time_count(av), & 1064 av 1065 ENDIF 1066 #endif 1067 IF ( ( section(is,s)>=nxl .AND. section(is,s)<=nxr ) .OR.& 1068 ( section(is,s) == -1 .AND. nxl-1 == -1 ) ) & 1069 THEN 1070 WRITE (23) nys-1, nyn+1, nzb, nzt+1 1071 WRITE (23) local_2d 1262 IF ( nyn == ny ) THEN 1263 nc_stat = NF90_PUT_VAR( id_set_yz(av), & 1264 id_var_do2d(av,if), & 1265 local_2d(nys:nyn+1,nzb:nzt+1), & 1266 start = (/ is, nys+1, 1, & 1267 do2d_yz_time_count(av) /), & 1268 count = (/ 1, nyn-nys+2, & 1269 nzt+2, 1 /) ) 1270 ELSE 1271 nc_stat = NF90_PUT_VAR( id_set_yz(av), & 1272 id_var_do2d(av,if), & 1273 local_2d(nys:nyn,nzb:nzt+1), & 1274 start = (/ is, nys+1, 1, & 1275 do2d_yz_time_count(av) /), & 1276 count = (/ 1, nyn-nys+1, & 1277 nzt+2, 1 /) ) 1278 ENDIF 1279 1280 CALL handle_netcdf_error( 'data_output_2d', 60 ) 1281 1072 1282 ELSE 1073 WRITE (23) -1, -1, -1, -1 1283 ! 1284 !-- Output on other PEs. Only one point is output!! 1285 !-- ATTENTION: This is a workaround (see above)!! 1286 IF ( npex /= 1 ) THEN 1287 nc_stat = NF90_PUT_VAR( id_set_yz(av), & 1288 id_var_do2d(av,if), & 1289 local_2d(nys:nys,nzb:nzb), & 1290 start = (/ is, nys+1, 1, & 1291 do2d_yz_time_count(av) /), & 1292 count = (/ 1, 1, 1, 1 /) ) 1293 CALL handle_netcdf_error( 'data_output_2d', 452 ) 1294 ENDIF 1295 #endif 1074 1296 ENDIF 1075 1297 1076 1298 ELSE 1077 ! 1078 !-- PE0 receives partial arrays from all processors of the 1079 !-- respective cross section and outputs them. Here a 1080 !-- barrier has to be set, because otherwise 1081 !-- "-MPI- FATAL: Remote protocol queue full" may occur. 1082 CALL MPI_BARRIER( comm2d, ierr ) 1083 1084 ngp = ( nyn-nys+3 ) * ( nzt-nzb+2 ) 1085 IF ( myid == 0 ) THEN 1086 ! 1087 !-- Local array can be relocated directly. 1088 IF ( ( section(is,s)>=nxl .AND. section(is,s)<=nxr ) & 1089 .OR. ( section(is,s) == -1 .AND. nxl-1 == -1 ) ) & 1299 1300 IF ( data_output_2d_on_each_pe ) THEN 1301 ! 1302 !-- Output of partial arrays on each PE. If the cross 1303 !-- section does not reside on the PE, output special 1304 !-- index values. 1305 #if defined( __netcdf ) 1306 IF ( netcdf_output .AND. myid == 0 ) THEN 1307 WRITE ( 23 ) simulated_time, & 1308 do2d_yz_time_count(av), av 1309 ENDIF 1310 #endif 1311 IF ( ( section(is,s) >= nxl .AND. & 1312 section(is,s) <= nxr ) .OR. & 1313 ( section(is,s) == -1 .AND. nxl-1 == -1 ) ) & 1090 1314 THEN 1091 total_2d(nys-1:nyn+1,nzb:nzt+1) = local_2d 1092 ENDIF 1093 ! 1094 !-- Receive data from all other PEs. 1095 DO n = 1, numprocs-1 1096 ! 1097 !-- Receive index limits first, then array. 1098 !-- Index limits are received in arbitrary order from 1099 !-- the PEs. 1100 CALL MPI_RECV( ind(1), 4, MPI_INTEGER, & 1101 MPI_ANY_SOURCE, 0, comm2d, status, & 1102 ierr ) 1103 ! 1104 !-- Not all PEs have data for YZ-cross-section. 1105 IF ( ind(1) /= -9999 ) THEN 1106 sender = status(MPI_SOURCE) 1107 DEALLOCATE( local_2d ) 1108 ALLOCATE( local_2d(ind(1):ind(2),ind(3):ind(4)) ) 1109 CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, & 1110 MPI_REAL, sender, 1, comm2d, & 1315 WRITE (23) nys-1, nyn+1, nzb, nzt+1 1316 WRITE (23) local_2d 1317 ELSE 1318 WRITE (23) -1, -1, -1, -1 1319 ENDIF 1320 1321 ELSE 1322 ! 1323 !-- PE0 receives partial arrays from all processors of the 1324 !-- respective cross section and outputs them. Here a 1325 !-- barrier has to be set, because otherwise 1326 !-- "-MPI- FATAL: Remote protocol queue full" may occur. 1327 CALL MPI_BARRIER( comm2d, ierr ) 1328 1329 ngp = ( nyn-nys+3 ) * ( nzt-nzb+2 ) 1330 IF ( myid == 0 ) THEN 1331 ! 1332 !-- Local array can be relocated directly. 1333 IF ( ( section(is,s) >= nxl .AND. & 1334 section(is,s) <= nxr ) .OR. & 1335 ( section(is,s) == -1 .AND. nxl-1 == -1 ) ) & 1336 THEN 1337 total_2d(nys-1:nyn+1,nzb:nzt+1) = local_2d 1338 ENDIF 1339 ! 1340 !-- Receive data from all other PEs. 1341 DO n = 1, numprocs-1 1342 ! 1343 !-- Receive index limits first, then array. 1344 !-- Index limits are received in arbitrary order from 1345 !-- the PEs. 1346 CALL MPI_RECV( ind(1), 4, MPI_INTEGER, & 1347 MPI_ANY_SOURCE, 0, comm2d, & 1111 1348 status, ierr ) 1112 total_2d(ind(1):ind(2),ind(3):ind(4)) = local_2d 1349 ! 1350 !-- Not all PEs have data for YZ-cross-section. 1351 IF ( ind(1) /= -9999 ) THEN 1352 sender = status(MPI_SOURCE) 1353 DEALLOCATE( local_2d ) 1354 ALLOCATE( local_2d(ind(1):ind(2), & 1355 ind(3):ind(4)) ) 1356 CALL MPI_RECV( local_2d(ind(1),ind(3)), ngp, & 1357 MPI_REAL, sender, 1, comm2d, & 1358 status, ierr ) 1359 total_2d(ind(1):ind(2),ind(3):ind(4)) = & 1360 local_2d 1361 ENDIF 1362 ENDDO 1363 ! 1364 !-- Output of the total cross-section. 1365 IF ( iso2d_output ) THEN 1366 WRITE (23) total_2d(0:ny+1,nzb:nzt+1) 1113 1367 ENDIF 1114 ENDDO 1115 ! 1116 !-- Output of the total cross-section. 1117 IF ( iso2d_output ) THEN 1118 WRITE (23) total_2d(0:ny+1,nzb:nzt+1) 1119 ENDIF 1120 ! 1121 !-- Relocate the local array for the next loop increment 1122 DEALLOCATE( local_2d ) 1123 ALLOCATE( local_2d(nys-1:nyn+1,nzb:nzt+1) ) 1368 ! 1369 !-- Relocate the local array for the next loop increment 1370 DEALLOCATE( local_2d ) 1371 ALLOCATE( local_2d(nys-1:nyn+1,nzb:nzt+1) ) 1124 1372 1125 1373 #if defined( __netcdf ) 1126 IF ( netcdf_output ) THEN1127 nc_stat = NF90_PUT_VAR( id_set_yz(av),&1374 IF ( netcdf_output ) THEN 1375 nc_stat = NF90_PUT_VAR( id_set_yz(av), & 1128 1376 id_var_do2d(av,if), & 1129 1377 total_2d(0:ny+1,nzb:nzt+1),& 1130 1378 start = (/ is, 1, 1, do2d_yz_time_count(av) /), & 1131 1379 count = (/ 1, ny+2, nz+2, 1 /) ) 1132 CALL handle_netcdf_error( 'data_output_2d', 60 ) 1133 ENDIF 1134 #endif 1135 1136 ELSE 1137 ! 1138 !-- If the cross section resides on the PE, send the 1139 !-- local index limits, otherwise send -9999 to PE0. 1140 IF ( ( section(is,s)>=nxl .AND. section(is,s)<=nxr ) & 1141 .OR. ( section(is,s) == -1 .AND. nxl-1 == -1 ) ) & 1142 THEN 1143 ind(1) = nys-1; ind(2) = nyn+1 1144 ind(3) = nzb; ind(4) = nzt+1 1380 CALL handle_netcdf_error( 'data_output_2d', 61 ) 1381 ENDIF 1382 #endif 1383 1145 1384 ELSE 1146 ind(1) = -9999; ind(2) = -9999 1147 ind(3) = -9999; ind(4) = -9999 1148 ENDIF 1149 CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, comm2d, & 1150 ierr ) 1151 ! 1152 !-- If applicable, send data to PE0. 1153 IF ( ind(1) /= -9999 ) THEN 1154 CALL MPI_SEND( local_2d(nys-1,nzb), ngp, MPI_REAL, & 1155 0, 1, comm2d, ierr ) 1156 ENDIF 1157 ENDIF 1158 ! 1159 !-- A barrier has to be set, because otherwise some PEs may 1160 !-- proceed too fast so that PE0 may receive wrong data on 1161 !-- tag 0 1162 CALL MPI_BARRIER( comm2d, ierr ) 1385 ! 1386 !-- If the cross section resides on the PE, send the 1387 !-- local index limits, otherwise send -9999 to PE0. 1388 IF ( ( section(is,s) >= nxl .AND. & 1389 section(is,s) <= nxr ) .OR. & 1390 ( section(is,s) == -1 .AND. nxl-1 == -1 ) ) & 1391 THEN 1392 ind(1) = nys-1; ind(2) = nyn+1 1393 ind(3) = nzb; ind(4) = nzt+1 1394 ELSE 1395 ind(1) = -9999; ind(2) = -9999 1396 ind(3) = -9999; ind(4) = -9999 1397 ENDIF 1398 CALL MPI_SEND( ind(1), 4, MPI_INTEGER, 0, 0, & 1399 comm2d, ierr ) 1400 ! 1401 !-- If applicable, send data to PE0. 1402 IF ( ind(1) /= -9999 ) THEN 1403 CALL MPI_SEND( local_2d(nys-1,nzb), ngp, & 1404 MPI_REAL, 0, 1, comm2d, ierr ) 1405 ENDIF 1406 ENDIF 1407 ! 1408 !-- A barrier has to be set, because otherwise some PEs may 1409 !-- proceed too fast so that PE0 may receive wrong data on 1410 !-- tag 0 1411 CALL MPI_BARRIER( comm2d, ierr ) 1412 ENDIF 1413 1163 1414 ENDIF 1164 1415 #else … … 1173 1424 start = (/ is, 1, 1, do2d_xz_time_count(av) /), & 1174 1425 count = (/ 1, ny+2, nz+2, 1 /) ) 1175 CALL handle_netcdf_error( 'data_output_2d', 61)1426 CALL handle_netcdf_error( 'data_output_2d', 452 ) 1176 1427 ENDIF 1177 1428 #endif -
palm/trunk/SOURCE/data_output_3d.f90
r392 r493 76 76 !-- Open output file. 77 77 !-- Also creates coordinate and fld-file for AVS. 78 !-- In case of a run on more than one PE, each PE opens its own file and 78 !-- For classic or 64bit NetCDF output or output of other (old) data formats, 79 !-- for a run on more than one PE, each PE opens its own file and 79 80 !-- writes the data of its subdomain in binary format (regardless of the format 80 81 !-- the user has requested). After the run, these files are combined to one 81 82 !-- file by combine_plot_fields in the format requested by the user (netcdf 82 !-- and/or avs). 83 IF ( avs_output .OR. ( numprocs > 1 ) ) CALL check_open( 30 ) 84 85 #if defined( __netcdf ) 86 IF ( myid == 0 .AND. netcdf_output ) CALL check_open( 106+av*10 ) 87 #endif 83 !-- and/or avs). 84 !-- For NetCDF4/HDF5 output, data is written in parallel into one file. 85 IF ( netcdf_output ) THEN 86 IF ( netcdf_data_format < 3 ) THEN 87 CALL check_open( 30 ) 88 IF ( myid == 0 ) CALL check_open( 106+av*10 ) 89 ELSE 90 CALL check_open( 106+av*10 ) 91 ENDIF 92 ELSE 93 IF ( avs_output .OR. ( numprocs > 1 ) ) CALL check_open( 30 ) 94 ENDIF 88 95 89 96 ! … … 94 101 !-- Update the NetCDF time axis 95 102 #if defined( __netcdf ) 96 do3d_time_count(av) = do3d_time_count(av) + 1 97 IF ( myid == 0 .AND. netcdf_output ) THEN 98 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_time_3d(av), & 99 (/ time_since_reference_point /), & 100 start = (/ do3d_time_count(av) /), & 101 count = (/ 1 /) ) 102 CALL handle_netcdf_error( 'data_output_3d', 376 ) 103 IF ( myid == 0 .OR. netcdf_data_format > 2 ) THEN 104 do3d_time_count(av) = do3d_time_count(av) + 1 105 IF ( netcdf_output ) THEN 106 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_time_3d(av), & 107 (/ time_since_reference_point /), & 108 start = (/ do3d_time_count(av) /), & 109 count = (/ 1 /) ) 110 CALL handle_netcdf_error( 'data_output_3d', 376 ) 111 ENDIF 103 112 ENDIF 104 113 #endif … … 376 385 !-- Uncompressed output. 377 386 #if defined( __parallel ) 378 IF ( netcdf_output .AND. myid == 0 ) THEN 379 WRITE ( 30 ) simulated_time, do3d_time_count(av), av 387 IF ( netcdf_output ) THEN 388 IF ( netcdf_data_format < 3 ) THEN 389 ! 390 !-- Classic or 64bit format. Data is output in parallel in FORTRAN 391 !-- binary format here, and later collected into one file by 392 !-- combine_plot_fields 393 IF ( myid == 0 ) THEN 394 WRITE ( 30 ) simulated_time, do3d_time_count(av), av 395 ENDIF 396 WRITE ( 30 ) nxl-1, nxr+1, nys-1, nyn+1, nzb, nz_do3d 397 WRITE ( 30 ) local_pf 398 399 ELSE 400 ! 401 !-- Output in NetCDF4/HDF5 format. 402 !-- Do not output redundant ghost point data except for the 403 !-- boundaries of the total domain. 404 IF ( nxr == nx .AND. nyn /= ny ) THEN 405 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if), & 406 local_pf(nxl:nxr+1,nys:nyn,nzb:nz_do3d), & 407 start = (/ nxl+1, nys+1, nzb+1, do3d_time_count(av) /), & 408 count = (/ nxr-nxl+2, nyn-nys+1, nz_do3d-nzb+1, 1 /) ) 409 ELSEIF ( nxr /= nx .AND. nyn == ny ) THEN 410 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if), & 411 local_pf(nxl:nxr,nys:nyn+1,nzb:nz_do3d), & 412 start = (/ nxl+1, nys+1, nzb+1, do3d_time_count(av) /), & 413 count = (/ nxr-nxl+1, nyn-nys+2, nz_do3d-nzb+1, 1 /) ) 414 ELSEIF ( nxr == nx .AND. nyn == ny ) THEN 415 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if), & 416 local_pf(nxl:nxr+1,nys:nyn+1,nzb:nz_do3d), & 417 start = (/ nxl+1, nys+1, nzb+1, do3d_time_count(av) /), & 418 count = (/ nxr-nxl+2, nyn-nys+2, nz_do3d-nzb+1, 1 /) ) 419 ELSE 420 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if), & 421 local_pf(nxl:nxr,nys:nyn,nzb:nz_do3d), & 422 start = (/ nxl+1, nys+1, nzb+1, do3d_time_count(av) /), & 423 count = (/ nxr-nxl+1, nyn-nys+1, nz_do3d-nzb+1, 1 /) ) 424 ENDIF 425 CALL handle_netcdf_error( 'data_output_3d', 386 ) 426 ENDIF 380 427 ENDIF 381 WRITE ( 30 ) nxl-1, nxr+1, nys-1, nyn+1, nzb, nz_do3d382 WRITE ( 30 ) local_pf383 428 #else 384 429 IF ( avs_output ) THEN … … 387 432 #if defined( __netcdf ) 388 433 IF ( netcdf_output ) THEN 389 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if), & 390 local_pf(nxl:nxr+1,nys:nyn+1,nzb:nz_do3d), & 391 start = (/ 1, 1, 1, do3d_time_count(av) /), & 392 count = (/ nx+2, ny+2, nz_do3d-nzb+1, 1 /) ) 393 CALL handle_netcdf_error( 'data_output_3d', 386 ) 434 435 nc_stat = NF90_PUT_VAR( id_set_3d(av), id_var_do3d(av,if), & 436 local_pf(nxl:nxr+1,nys:nyn+1,nzb:nz_do3d), & 437 start = (/ 1, 1, 1, do3d_time_count(av) /), & 438 count = (/ nx+2, ny+2, nz_do3d-nzb+1, 1 /) ) 439 CALL handle_netcdf_error( 'data_output_3d', 446 ) 440 394 441 ENDIF 395 442 #endif -
palm/trunk/SOURCE/data_output_mask.f90
r484 r493 53 53 CALL cpu_log (log_point(49),'data_output_mask','start') 54 54 55 ! !55 ! 56 56 !-- Open output file. 57 IF ( format_parallel_io .AND. netcdf_output ) THEN 58 CALL check_open( 120+mid+av*max_masks ) 59 ELSEIF (myid == 0 .AND. netcdf_output ) THEN 57 IF ( netcdf_output .AND. ( myid == 0 .OR. netcdf_data_format > 2 ) ) & 58 THEN 60 59 CALL check_open( 120+mid+av*max_masks ) 61 60 ENDIF … … 74 73 !-- Update the NetCDF time axis. 75 74 domask_time_count(mid,av) = domask_time_count(mid,av) + 1 76 IF ( format_parallel_io .AND. netcdf_output ) THEN 77 nc_stat = NF90_PUT_VAR( id_set_mask(mid,av), id_var_time_mask(mid,av), & 78 (/ simulated_time /), & 79 start = (/ domask_time_count(mid,av) /), & 80 count = (/ 1 /) ) 81 CALL handle_netcdf_error( 'data_output_mask', 9998 ) 82 ELSEIF ( myid == 0 .AND. netcdf_output ) THEN 75 IF ( netcdf_output .AND. ( myid == 0 .OR. netcdf_data_format > 2 ) ) & 76 THEN 83 77 nc_stat = NF90_PUT_VAR( id_set_mask(mid,av), id_var_time_mask(mid,av), & 84 78 (/ simulated_time /), & … … 95 89 ! 96 90 !-- Reallocate local_pf on PE 0 since its shape changes during MPI exchange 97 IF ( .NOT. format_parallel_io .AND. myid == 0 .AND.if > 1 ) THEN91 IF ( netcdf_data_format < 3 .AND. myid == 0 .AND. if > 1 ) THEN 98 92 DEALLOCATE( local_pf ) 99 93 ALLOCATE( local_pf(mask_size_l(mid,1),mask_size_l(mid,2), & … … 329 323 !-- The choice of method depends on the correct setting of preprocessor 330 324 !-- directives __parallel and __netcdf4 as well as on the parameter 331 !-- n c_format_mask(mid,av).325 !-- netcdf_data_format. 332 326 #if defined( __parallel ) 333 327 #if defined( __netcdf4 ) 334 IF ( n c_format_mask(mid,av) == 3 .OR. nc_format_mask(mid,av) == 4) THEN328 IF ( netcdf_data_format > 2 ) THEN 335 329 ! 336 330 !-- (1) a. Parallel I/O using NetCDF 4 (not yet tested) -
palm/trunk/SOURCE/header.f90
r482 r493 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! NetCDF data output format extendend for NetCDF4/HDF5 7 7 ! 8 8 ! Former revisions: … … 16 16 ! 410 2009-12-04 17:05:40Z letzel 17 17 ! Masked data output: + dt_domask, mask_01~20_x|y|z, mask_01~20_x|y|z_loop, 18 ! mask_scale|_x|y|z, masks, netcdf_format_mask[_av],skip_time_domask18 ! mask_scale|_x|y|z, masks, skip_time_domask 19 19 ! 20 20 ! 346 2009-07-06 10:13:41Z raasch … … 700 700 output_format = '' 701 701 IF ( netcdf_output ) THEN 702 IF ( netcdf_ 64bit) THEN703 output_format = ' netcdf (64 bit offset)'702 IF ( netcdf_data_format == 1 ) THEN 703 output_format = 'NetCDF classic' 704 704 ELSE 705 output_format = ' netcdf'705 output_format = 'NetCDF 64bit offset' 706 706 ENDIF 707 707 ENDIF … … 778 778 output_format = '' 779 779 IF ( netcdf_output ) THEN 780 IF ( netcdf_64bit ) THEN 781 output_format = 'netcdf (64 bit offset)' 782 ELSE 783 output_format = 'netcdf' 780 IF ( netcdf_data_format == 1 ) THEN 781 output_format = 'NetCDF classic' 782 ELSEIF ( netcdf_data_format == 2 ) THEN 783 output_format = 'NetCDF 64bit offset' 784 ELSEIF ( netcdf_data_format == 3 ) THEN 785 output_format = 'NetCDF4/HDF5' 786 ELSEIF ( netcdf_data_format == 4 ) THEN 787 output_format = 'NetCDF4/HDF5 clasic' 784 788 ENDIF 785 789 ENDIF … … 935 939 output_format = '' 936 940 IF ( netcdf_output ) THEN 937 IF ( netcdf_64bit_3d ) THEN 938 output_format = 'netcdf (64 bit offset)' 939 ELSE 940 output_format = 'netcdf' 941 IF ( netcdf_data_format == 1 ) THEN 942 output_format = 'NetCDF classic' 943 ELSEIF ( netcdf_data_format == 2 ) THEN 944 output_format = 'NetCDF 64bit offset' 945 ELSEIF ( netcdf_data_format == 3 ) THEN 946 output_format = 'NetCDF4/HDF5' 947 ELSEIF ( netcdf_data_format == 4 ) THEN 948 output_format = 'NetCDF4/HDF5 clasic' 941 949 ENDIF 942 950 ENDIF … … 1029 1037 output_format = '' 1030 1038 IF ( netcdf_output ) THEN 1031 SELECT CASE ( nc_format_mask(mid,av) ) 1032 CASE ( 1 ) 1033 output_format = 'netcdf (classic format)' 1034 CASE ( 2 ) 1035 output_format = 'netcdf (64bit offset format)' 1036 CASE ( 3 ) 1037 output_format = 'netcdf (NetCDF 4 format)' 1038 CASE ( 4 ) 1039 output_format = 'netcdf (NetCDF 4 classic model format)' 1040 END SELECT 1039 IF ( netcdf_data_format == 1 ) THEN 1040 output_format = 'NetCDF classic' 1041 ELSEIF ( netcdf_data_format == 2 ) THEN 1042 output_format = 'NetCDF 64bit offset' 1043 ELSEIF ( netcdf_data_format == 3 ) THEN 1044 output_format = 'NetCDF4/HDF5' 1045 ELSEIF ( netcdf_data_format == 4 ) THEN 1046 output_format = 'NetCDF4/HDF5 clasic' 1047 ENDIF 1041 1048 ENDIF 1042 1049 WRITE ( io, 344 ) output_format … … 1092 1099 output_format = '' 1093 1100 IF ( netcdf_output ) THEN 1094 IF ( netcdf_ 64bit) THEN1095 output_format = ' netcdf (64 bit offset)'1101 IF ( netcdf_data_format == 1 ) THEN 1102 output_format = 'NetCDF classic' 1096 1103 ELSE 1097 output_format = ' netcdf'1104 output_format = 'NetCDF 64bit offset' 1098 1105 ENDIF 1099 1106 ENDIF … … 1169 1176 output_format = '' 1170 1177 IF ( netcdf_output ) THEN 1171 IF ( netcdf_ 64bit) THEN1172 output_format = ' netcdf (64 bit offset)'1178 IF ( netcdf_data_format == 1 ) THEN 1179 output_format = 'NetCDF classic' 1173 1180 ELSE 1174 output_format = ' netcdf'1181 output_format = 'NetCDF 64bit offset' 1175 1182 ENDIF 1176 1183 ENDIF … … 1493 1500 output_format = '' 1494 1501 IF ( netcdf_output ) THEN 1495 IF ( netcdf_ 64bit) THEN1502 IF ( netcdf_data_format > 1 ) THEN 1496 1503 output_format = 'netcdf (64 bit offset) and binary' 1497 1504 ELSE -
palm/trunk/SOURCE/init_masks.f90
r484 r493 48 48 ALLOCATE( mask(max_masks,3,mask_xyz_dimension), & 49 49 mask_loop(max_masks,3,3) ) 50 !51 !-- Store netcdf file formats for masked data output in one shared array52 nc_format_mask(:,0) = netcdf_format_mask53 nc_format_mask(:,1) = netcdf_format_mask_av54 50 55 IF ( ANY( nc_format_mask == 3 ) .OR. ANY( nc_format_mask == 4 )) THEN 56 format_parallel_io = .TRUE. 57 ENDIF 58 59 IF ( ANY( nc_format_mask < 1 ) .OR. ANY( nc_format_mask > 4 ) ) THEN 60 WRITE( message_string, * ) 'illegal value: netcdf_format_mask and ', & 61 'netcdf_format_mask_av must be either 1, 2, 3 or 4' 62 IF ( ANY( nc_format_mask == 3 ) .OR. ANY( nc_format_mask == 4 ) ) THEN 63 message_string = TRIM( message_string ) // '&NetCDF file formats '// & 64 '3 (NetCDF 4) and 4 (NetCDF 4 Classic model)'// & 65 '&are currently not supported (not yet tested).' 66 ENDIF 51 ! 52 !-- Parallel mask output not yet tested 53 IF ( netcdf_data_format > 2 ) THEN 54 message_string = 'NetCDF file formats '// & 55 '3 (NetCDF 4) and 4 (NetCDF 4 Classic model)'// & 56 '&are currently not supported (not yet tested).' 67 57 CALL message( 'init_masks', 'PA9998', 1, 2, 0, 6, 0 ) 68 58 ENDIF … … 162 152 ! 163 153 !-- Global arrays are required by define_netcdf_header. 164 IF ( format_parallel_io ) THEN 165 ALLOCATE( mask_i_global(max_masks,nx+1), & 166 mask_j_global(max_masks,ny+1), & 167 mask_k_global(max_masks,nz+1) ) 168 mask_i_global = -1; mask_j_global = -1; mask_k_global = -1 169 ELSEIF ( myid == 0 ) THEN 154 IF ( myid == 0 .OR. netcdf_data_format > 2 ) THEN 170 155 ALLOCATE( mask_i_global(max_masks,nx+1), & 171 156 mask_j_global(max_masks,ny+1), & … … 472 457 CALL MPI_BARRIER( comm2d, ierr ) 473 458 474 IF ( format_parallel_io) THEN459 IF ( netcdf_data_format > 2 ) THEN 475 460 476 CALL MPI_BCAST( mask_i_global(mid,:), nx+1, MPI_INTEGER, 0, comm2d, ierr ) 477 CALL MPI_BCAST( mask_j_global(mid,:), ny+1, MPI_INTEGER, 0, comm2d, ierr ) 478 CALL MPI_BCAST( mask_k_global(mid,:), nz+1, MPI_INTEGER, 0, comm2d, ierr ) 461 CALL MPI_BCAST( mask_i_global(mid,:), nx+1, MPI_INTEGER, 0, comm2d, & 462 ierr ) 463 CALL MPI_BCAST( mask_j_global(mid,:), ny+1, MPI_INTEGER, 0, comm2d, & 464 ierr ) 465 CALL MPI_BCAST( mask_k_global(mid,:), nz+1, MPI_INTEGER, 0, comm2d, & 466 ierr ) 479 467 480 468 ENDIF … … 496 484 497 485 CONTAINS 486 498 487 SUBROUTINE set_mask_locations( dim, dxyz, dxyz_string, nxyz, nxyz_string, & 499 488 lb, ub ) -
palm/trunk/SOURCE/modules.f90
r486 r493 5 5 ! Current revisions: 6 6 ! ----------------- 7 ! 7 ! +netcdf_data_format, -netcdf_64bit, -netcdf_64bit_3d 8 8 ! 9 9 ! Former revisions: … … 23 23 ! 410 2009-12-04 17:05:40Z letzel 24 24 ! masked data output: + dt_domask, mask_01~20_x|y|z, mask_01~20_x|y|z_loop, 25 ! mask_scale|_x|y|z, masks, netcdf_format_mask[_av],skip_time_domask25 ! mask_scale|_x|y|z, masks, skip_time_domask 26 26 ! 27 27 ! 388 2009-09-23 09:40:33Z raasch … … 379 379 intermediate_timestep_count, intermediate_timestep_count_max, & 380 380 iran = -1234567, last_dt_change = 0, masks = 0, & 381 maximum_grid_level, &382 m ax_pr_user = 0, mgcycles = 0, mg_cycles = -1, &383 mg_switch_to_pe0_level = 0, mid, ngsrb = 2, nsor = 20, &381 maximum_grid_level, max_pr_user = 0, mgcycles = 0, & 382 mg_cycles = -1, mg_switch_to_pe0_level = 0, mid, & 383 netcdf_data_format = 2, ngsrb = 2, nsor = 20, & 384 384 nsor_ini = 100, n_sor, normalizing_region = 0, & 385 385 nz_do1d, nz_do3d = -9999, outflow_damping_width = -1, & … … 396 396 mask_size(max_masks,3) = -1, mask_size_l(max_masks,3) = -1, & 397 397 mask_start_l(max_masks,3) = -1, & 398 nc_format_mask(1:max_masks,0:1), &399 netcdf_format_mask(1:max_masks) = 1, &400 netcdf_format_mask_av(1:max_masks) = 1, &401 398 pt_vertical_gradient_level_ind(10) = -9999, & 402 399 q_vertical_gradient_level_ind(10) = -9999, & … … 430 427 disturbance_created = .FALSE., & 431 428 first_call_advec_particles = .TRUE., & 432 force_print_header = .FALSE., format_parallel_io = .FALSE., & 433 galilei_transformation = .FALSE.,& 429 force_print_header = .FALSE., galilei_transformation = .FALSE.,& 434 430 humidity = .FALSE., humidity_remote = .FALSE., & 435 431 inflow_l = .FALSE., inflow_n = .FALSE., & … … 437 433 iso2d_output = .FALSE., large_scale_subsidence = .FALSE., & 438 434 mg_switch_to_pe0 = .FALSE., & 439 netcdf_output = .FALSE., netcdf_64bit = .FALSE., & 440 netcdf_64bit_3d = .TRUE., ocean = .FALSE., & 435 netcdf_output = .FALSE., ocean = .FALSE., & 441 436 outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., & 442 437 outflow_s = .FALSE., passive_scalar = .FALSE., & -
palm/trunk/SOURCE/netcdf.f90
r449 r493 7 7 ! Current revisions: 8 8 ! ------------------ 9 ! 9 ! Extensions for NetCDF4 output 10 10 ! 11 11 ! Former revisions: … … 1093 1093 'units', TRIM( do3d_unit(av,i) ) ) 1094 1094 CALL handle_netcdf_error( 'netcdf', 357 ) 1095 1095 #if defined( __netcdf4 ) 1096 ! 1097 !-- Set collective io operations for parallel io 1098 IF ( netcdf_data_format > 2 ) THEN 1099 nc_stat = NF90_VAR_PAR_ACCESS( id_set_3d(av), & 1100 id_var_do3d(av,i), & 1101 NF90_COLLECTIVE ) 1102 CALL handle_netcdf_error( 'netcdf', 445 ) 1103 ENDIF 1104 #endif 1096 1105 i = i + 1 1097 1106 … … 1299 1308 id_var_do3d(av,i) ) 1300 1309 CALL handle_netcdf_error( 'netcdf', 95 ) 1310 #if defined( __netcdf4 ) 1311 ! 1312 !-- Set collective io operations for parallel io 1313 IF ( netcdf_data_format > 2 ) THEN 1314 nc_stat = NF90_VAR_PAR_ACCESS( id_set_3d(av), & 1315 id_var_do3d(av,i), & 1316 NF90_COLLECTIVE ) 1317 CALL handle_netcdf_error( 'netcdf', 453 ) 1318 ENDIF 1319 #endif 1301 1320 i = i + 1 1302 1321 ENDDO … … 1644 1663 'units', TRIM( do2d_unit(av,i) ) ) 1645 1664 CALL handle_netcdf_error( 'netcdf', 354 ) 1665 #if defined( __netcdf4 ) 1666 ! 1667 !-- Set collective io operations for parallel io 1668 IF ( netcdf_data_format > 2 ) THEN 1669 nc_stat = NF90_VAR_PAR_ACCESS( id_set_xy(av), & 1670 id_var_do2d(av,i), & 1671 NF90_COLLECTIVE ) 1672 CALL handle_netcdf_error( 'netcdf', 448 ) 1673 ENDIF 1674 #endif 1646 1675 ENDIF 1647 1676 … … 1940 1969 id_var_do2d(av,i) ) 1941 1970 CALL handle_netcdf_error( 'netcdf', 138 ) 1971 #if defined( __netcdf4 ) 1972 ! 1973 !-- Set collective io operations for parallel io 1974 IF ( netcdf_data_format > 2 ) THEN 1975 nc_stat = NF90_VAR_PAR_ACCESS( id_set_xy(av), & 1976 id_var_do2d(av,i), & 1977 NF90_COLLECTIVE ) 1978 CALL handle_netcdf_error( 'netcdf', 454 ) 1979 ENDIF 1980 #endif 1942 1981 ENDIF 1943 1982 i = i + 1 … … 2212 2251 'units', TRIM( do2d_unit(av,i) ) ) 2213 2252 CALL handle_netcdf_error( 'netcdf', 355 ) 2253 #if defined( __netcdf4 ) 2254 ! 2255 !-- Set independent io operations for parallel io. Collective io 2256 !-- is only allowed in case of a 1d-decomposition along x, because 2257 !-- otherwise, not all PEs have output data. 2258 IF ( netcdf_data_format > 2 ) THEN 2259 IF ( npey == 1 ) THEN 2260 nc_stat = NF90_VAR_PAR_ACCESS( id_set_xz(av), & 2261 id_var_do2d(av,i), & 2262 NF90_COLLECTIVE ) 2263 ELSE 2264 ! 2265 !-- ATTENTION: Due to a probable bug in the NetCDF4 2266 !-- installation, independet output does not work 2267 !-- A workaround is used in data_output_2d on those 2268 !-- PEs having no data 2269 nc_stat = NF90_VAR_PAR_ACCESS( id_set_xz(av), & 2270 id_var_do2d(av,i), & 2271 NF90_COLLECTIVE ) 2272 ! nc_stat = NF90_VAR_PAR_ACCESS( id_set_xz(av), & 2273 ! id_var_do2d(av,i), & 2274 ! NF90_INDEPENDENT ) 2275 ENDIF 2276 CALL handle_netcdf_error( 'netcdf', 449 ) 2277 ENDIF 2278 #endif 2214 2279 ENDIF 2215 2280 … … 2478 2543 id_var_do2d(av,i) ) 2479 2544 CALL handle_netcdf_error( 'netcdf', 177 ) 2545 #if defined( __netcdf4 ) 2546 ! 2547 !-- Set independent io operations for parallel io. Collective io 2548 !-- is only allowed in case of a 1d-decomposition along x, because 2549 !-- otherwise, not all PEs have output data. 2550 IF ( netcdf_data_format > 2 ) THEN 2551 IF ( npey == 1 ) THEN 2552 nc_stat = NF90_VAR_PAR_ACCESS( id_set_xz(av), & 2553 id_var_do2d(av,i), & 2554 NF90_COLLECTIVE ) 2555 ELSE 2556 ! 2557 !-- ATTENTION: Due to a probable bug in the NetCDF4 2558 !-- installation, independet output does not work 2559 !-- A workaround is used in data_output_2d on those 2560 !-- PEs having no data 2561 nc_stat = NF90_VAR_PAR_ACCESS( id_set_xz(av), & 2562 id_var_do2d(av,i), & 2563 NF90_COLLECTIVE ) 2564 ! nc_stat = NF90_VAR_PAR_ACCESS( id_set_xz(av), & 2565 ! id_var_do2d(av,i), & 2566 ! NF90_INDEPENDENT ) 2567 ENDIF 2568 CALL handle_netcdf_error( 'netcdf', 455 ) 2569 ENDIF 2570 #endif 2480 2571 ENDIF 2481 2572 i = i + 1 … … 2750 2841 'units', TRIM( do2d_unit(av,i) ) ) 2751 2842 CALL handle_netcdf_error( 'netcdf', 356 ) 2843 #if defined( __netcdf4 ) 2844 ! 2845 !-- Set independent io operations for parallel io. Collective io 2846 !-- is only allowed in case of a 1d-decomposition along y, because 2847 !-- otherwise, not all PEs have output data. 2848 IF ( netcdf_data_format > 2 ) THEN 2849 IF ( npex == 1 ) THEN 2850 nc_stat = NF90_VAR_PAR_ACCESS( id_set_yz(av), & 2851 id_var_do2d(av,i), & 2852 NF90_COLLECTIVE ) 2853 ELSE 2854 ! 2855 !-- ATTENTION: Due to a probable bug in the NetCDF4 2856 !-- installation, independet output does not work 2857 !-- A workaround is used in data_output_2d on those 2858 !-- PEs having no data 2859 nc_stat = NF90_VAR_PAR_ACCESS( id_set_yz(av), & 2860 id_var_do2d(av,i), & 2861 NF90_COLLECTIVE ) 2862 ! nc_stat = NF90_VAR_PAR_ACCESS( id_set_yz(av), & 2863 ! id_var_do2d(av,i), & 2864 ! NF90_INDEPENDENT ) 2865 ENDIF 2866 CALL handle_netcdf_error( 'netcdf', 450 ) 2867 ENDIF 2868 #endif 2752 2869 ENDIF 2753 2870 … … 3014 3131 id_var_do2d(av,i) ) 3015 3132 CALL handle_netcdf_error( 'netcdf', 216 ) 3133 #if defined( __netcdf4 ) 3134 ! 3135 !-- Set independent io operations for parallel io. Collective io 3136 !-- is only allowed in case of a 1d-decomposition along y, because 3137 !-- otherwise, not all PEs have output data. 3138 IF ( netcdf_data_format > 2 ) THEN 3139 IF ( npex == 1 ) THEN 3140 nc_stat = NF90_VAR_PAR_ACCESS( id_set_yz(av), & 3141 id_var_do2d(av,i), & 3142 NF90_COLLECTIVE ) 3143 ELSE 3144 ! 3145 !-- ATTENTION: Due to a probable bug in the NetCDF4 3146 !-- installation, independet output does not work 3147 !-- A workaround is used in data_output_2d on those 3148 !-- PEs having no data 3149 nc_stat = NF90_VAR_PAR_ACCESS( id_set_yz(av), & 3150 id_var_do2d(av,i), & 3151 NF90_COLLECTIVE ) 3152 ! nc_stat = NF90_VAR_PAR_ACCESS( id_set_yz(av), & 3153 ! id_var_do2d(av,i), & 3154 ! NF90_INDEPENDENT ) 3155 ENDIF 3156 CALL handle_netcdf_error( 'netcdf', 450 ) 3157 ENDIF 3158 #endif 3016 3159 ENDIF 3017 3160 i = i + 1 -
palm/trunk/SOURCE/parin.f90
r482 r493 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! +netcdf_data_format in d3par, -netcdf_64bit, -netcdf_64bit_3d 7 7 ! 8 8 ! Former revisions: … … 16 16 ! 410 2009-12-04 17:05:40Z letzel 17 17 ! masked data output: + dt_domask, mask_01~20_x|y|z, mask_01~20_x|y|z_loop, 18 ! mask_scale_x|y|z, masks, netcdf_format_mask[_av],skip_time_domask18 ! mask_scale_x|y|z, masks, skip_time_domask 19 19 ! 20 20 ! 291 2009-04-16 12:07:26Z raasch … … 61 61 ! 20 2007-02-26 00:12:32Z raasch 62 62 ! +top_heatflux, use_top_fluxes in inipar 63 !64 ! -netcdf_64bit_3d65 63 ! 66 64 ! 3 2007-02-13 11:30:58Z raasch … … 208 206 mask_19_z_loop, mask_20_z_loop, & 209 207 mg_cycles, mg_switch_to_pe0_level, & 210 netcdf_64bit, netcdf_64bit_3d, & 211 netcdf_format_mask, netcdf_format_mask_av, & 208 netcdf_data_format, & 212 209 ngsrb, normalizing_region, npex, npey, nsor, nz_do3d, & 213 210 omega_sor, & -
palm/trunk/SOURCE/user_statistics.f90
r484 r493 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! Bugfix: timeseries data have to be collected by PE0 7 7 ! 8 8 ! Former revisions: … … 25 25 USE arrays_3d 26 26 USE indices 27 USE netcdf_control 27 28 USE statistics 28 29 USE user … … 33 34 34 35 INTEGER :: i, j, k, sr, tn 36 37 REAL, DIMENSION(dots_num_palm+1:dots_max) :: ts_value_l 35 38 36 39 … … 70 73 !-- creates two time series for the absolut values of the horizontal 71 74 !-- velocities u and v. 72 ! ts_value(dots_num_palm+1,sr) = ABS( u_max ) 73 ! ts_value(dots_num_palm+2,sr) = ABS( v_max ) 75 ! ts_value_l = 0.0 76 ! ts_value_l(dots_num_palm+1,sr) = ABS( u_max ) 77 ! ts_value_l(dots_num_palm+2,sr) = ABS( v_max ) 78 ! 79 !-- Collect / send values to PE0, because only PE0 outputs the time series. 80 !-- CAUTION: Collection is done by taking the sum over all processors. 81 !-- You may have to normalize this sum, depending on the quantity 82 !-- that you like to calculate. For serial runs, nothing has to be 83 !-- done. 84 !-- HINT: If the time series value that you are calculating has the same 85 !-- value on all PEs, you can omit the MPI_ALLREDUCE call and 86 !-- assign ts_value(dots_num_palm+1:,sr) = ts_value_l directly. 87 !#if defined( __parallel ) 88 ! CALL MPI_ALLREDUCE( ts_value_l(dots_num_palm+1), & 89 ! ts_value(dots_num_palm+1,sr), & 90 ! dots_max-dots_num_palm, MPI_REAL, MPI_SUM, comm2d, & 91 ! ierr ) 92 !#else 93 ! ts_value(dots_num_palm+1:,sr) = ts_value_l 94 !#endif 74 95 75 96 ENDIF -
palm/trunk/UTIL/combine_plot_fields.f90
r226 r493 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! 6 ! Exit in case of already complete NetCDF data (due to parallel output in PALM) 7 ! cpu measurements included 7 8 ! 8 9 ! Former revisions: … … 47 48 ! Output format is NetCDF. Additionally, a data are output in a binary format 48 49 ! readable by ISO2D-software (cross-sections) and by AVS (3D-data). 49 !50 ! This routine must be compiled with:51 ! decalpha:52 ! f95 -cpp -D__netcdf -fast -r8 -I/usr/local/netcdf-3.5.1/include53 ! -L/usr/local/netcdf-3.5.1/lib -lnetcdf54 ! IBM-Regatta:55 ! xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q56 ! -I /aws/dataformats/netcdf-3.6.0-p1/64-32/include-6457 ! -L/aws/dataformats/netcdf-3.6.0-p1/64-32/lib -lnetcdf -O358 ! IBM-Regatta KISTI:59 ! xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q60 ! -I /applic/netcdf64/src/f9061 ! -L/applic/lib/NETCDF64 -lnetcdf -O362 ! IBM-Regatta Yonsei (gfdl5):63 ! xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q64 ! -I /usr1/users/raasch/pub/netcdf-3.6.0-p1/include65 ! -L/usr1/users/raasch/pub/netcdf-3.6.0-p1/lib -lnetcdf -O366 ! IMUK:67 ! ifort combine...f90 -o combine...x68 ! -cpp -D__netcdf -I /muksoft/packages/netcdf/linux/include -axW -r8 -nbs69 ! -Vaxlib -L /muksoft/packages/netcdf/linux/lib -lnetcdf70 ! NEC-SX6:71 ! sxf90 combine...f90 -o combine...x72 ! -I /pool/SX-6/netcdf/netcdf-3.6.0-p1/include -C hopt -Wf '-A idbl4'73 ! -D__netcdf -L/pool/SX-6/netcdf/netcdf-3.6.0-p1/lib -lnetcdf74 ! Sun Fire X460075 ! pgf95 combine...f90 -o combine...x76 ! -Mpreprocess -D__netcdf -I /home/usr5/mkanda/netcdf-3.6.1/src/f90 -r877 ! -fast -L/home/usr5/mkanda/netcdf-3.6.1/src/libsrc -lnetcdf78 ! FIMM:79 ! ifort combine...f90 -o combine...x80 ! -axW -cpp -openmp -r8 -nbs -convert little_endian -D__netcdf81 ! -I /local/netcdf/include -Vaxlib -L/local/netcdf/lib -lnetcdf82 50 !------------------------------------------------------------------------------! 83 51 … … 104 72 xxa, xxe, ya, ye, yya, yye, za, ze, zza, zze 105 73 74 #if defined( __lc ) || defined( __decalpha ) 75 INTEGER(8) :: count, count_rate 76 #elif defined( __nec ) 77 INTEGER :: count, count_rate 78 #elif defined( __ibm ) 79 INTEGER(8) :: IRTC 80 #endif 81 106 82 INTEGER, DIMENSION(0:1) :: current_level, current_var, fanz, id_set, & 107 83 id_var_time, num_var … … 114 90 115 91 LOGICAL :: avs_output, compressed, found, iso2d_output, netcdf_output, & 116 netcdf_ 0, netcdf_1117 118 REAL :: dx, simulated_time92 netcdf_parallel, netcdf_0, netcdf_1 93 94 REAL :: cpu_start_time, cpu_end_time, dx, simulated_time 119 95 REAL, DIMENSION(:), ALLOCATABLE :: eta, ho, hu 120 96 REAL, DIMENSION(:,:), ALLOCATABLE :: pf, pf_tmp … … 162 138 DO WHILE ( modus == 'XY' .OR. modus == 'XZ' .OR. modus == 'YZ' ) 163 139 ! 140 !-- Take current time 141 #if defined( __lc ) || defined( __decalpha ) || defined( __nec ) 142 CALL SYSTEM_CLOCK( count, count_rate ) 143 cpu_start_time = REAL( count ) / REAL( count_rate ) 144 #elif defined( __ibm ) 145 cpu_start_time = IRTC( ) * 1E-9 146 #else 147 PRINT*, '+++ INFORMATIVE: no time measurement defined on this host' 148 #endif 149 150 netcdf_parallel = .FALSE. 151 ! 164 152 !-- Check, if file from PE0 exists. If it does not exist, PALM did not 165 153 !-- create any output for this cross-section. … … 202 190 IF ( netcdf_0 .OR. netcdf_1 ) THEN 203 191 netcdf_output = .TRUE. 192 ! 193 !-- Inquire whether the NetCDF file is already complete (parallel 194 !-- output) 195 INQUIRE( FILE='NO_COMBINE_PLOT_FIELDS_'//modus, & 196 EXIST=netcdf_parallel ) 197 IF ( netcdf_parallel ) THEN 198 netcdf_parallel = .TRUE. 199 ELSE 200 netcdf_parallel = .FALSE. 201 ENDIF 204 202 ELSE 205 203 netcdf_output = .FALSE. … … 211 209 PRINT*, '*** combine_plot_fields ***' 212 210 #if defined( __netcdf ) 213 IF ( netcdf_output ) PRINT*, ' NetCDF output enabled' 211 IF ( netcdf_output ) THEN 212 IF ( netcdf_parallel ) THEN 213 PRINT*, ' NetCDF ' // modus // '-data are in one file ', & 214 '(NetCDF4-format) - merging not neccessary' 215 ELSE 216 PRINT*, ' NetCDF output enabled' 217 ENDIF 218 ENDIF 214 219 #else 215 220 IF ( netcdf_output ) THEN … … 218 223 ENDIF 219 224 #endif 220 IF ( danz /= 0 ) THEN 221 PRINT*, ' ',modus,'-section: ', danz, ' file(s) found' 222 ELSE 223 PRINT*, ' no ', modus, '-section data available' 224 ENDIF 225 226 IF ( netcdf_output .AND. danz /= 0 ) THEN 225 IF ( .NOT. netcdf_parallel ) THEN 226 IF ( danz /= 0 ) THEN 227 PRINT*, ' ',modus,'-section: ', danz, ' file(s) found' 228 ELSE 229 PRINT*, ' no ', modus, '-section data available' 230 ENDIF 231 ENDIF 232 233 IF ( netcdf_output .AND. .NOT. netcdf_parallel .AND. danz /= 0 ) & 234 THEN 227 235 #if defined( __netcdf ) 228 236 DO av = 0, 1 … … 312 320 ! 313 321 !-- Read the arrays, as long as the end of the file is reached 314 fanz = 0 315 current_level = 1 316 current_var = 999999999 317 318 DO WHILE ( danz /= 0 ) 319 320 ! 321 !-- Loop over all files (reading data of the subdomains) 322 DO id = 0, danz-1 323 ! 324 !-- File from PE0 contains special information at the beginning, 325 !-- concerning the lower and upper indices of the total-domain used 326 !-- in PALM (nxag, nxeg, nyag, nyeg) and the lower and upper indices 327 !-- of the array to be writte by this routine (nxa, nxe, nya, 328 !-- nye). Usually in the horizontal directions nxag=-1 and nxa=0 329 !-- while all other variables have the same value (i.e. nxeg=nxe). 330 !-- Allocate necessary arrays, open the output file and write 331 !-- the coordinate informations needed by ISO2D. 332 IF ( id == 0 .AND. fanz(0) == 0 .AND. fanz(1) == 0 ) THEN 333 READ ( id+110 ) nxag, nxeg, nyag, nyeg 334 READ ( id+110 ) nxa, nxe, nya, nye 335 ALLOCATE ( eta(nya:nye), ho(nxa:nxe), hu(nxa:nxe), & 336 pf(nxag:nxeg,nyag:nyeg) ) 337 READ ( id+110 ) dx, eta, hu, ho 338 339 IF ( iso2d_output ) THEN 340 OPEN ( 2, FILE='PLOT2D_'//modus//TRIM( model_string ), & 341 FORM='UNFORMATTED' ) 342 WRITE ( 2 ) dx, eta, hu, ho 322 IF ( .NOT. netcdf_parallel ) THEN 323 324 fanz = 0 325 current_level = 1 326 current_var = 999999999 327 328 DO WHILE ( danz /= 0 ) 329 330 ! 331 !-- Loop over all files (reading data of the subdomains) 332 DO id = 0, danz-1 333 ! 334 !-- File from PE0 contains special information at the beginning, 335 !-- concerning the lower and upper indices of the total-domain 336 !-- used in PALM (nxag, nxeg, nyag, nyeg) and the lower and 337 !-- upper indices of the array to be writte by this routine 338 !-- (nxa, nxe, nya, nye). Usually in the horizontal directions 339 !-- nxag=-1 and nxa=0 while all other variables have the same 340 !-- value (i.e. nxeg=nxe). 341 !-- Allocate necessary arrays, open the output file and write 342 !-- the coordinate informations needed by ISO2D. 343 IF ( id == 0 .AND. fanz(0) == 0 .AND. fanz(1) == 0 ) THEN 344 READ ( id+110 ) nxag, nxeg, nyag, nyeg 345 READ ( id+110 ) nxa, nxe, nya, nye 346 ALLOCATE ( eta(nya:nye), ho(nxa:nxe), hu(nxa:nxe), & 347 pf(nxag:nxeg,nyag:nyeg) ) 348 READ ( id+110 ) dx, eta, hu, ho 349 350 IF ( iso2d_output ) THEN 351 OPEN ( 2, FILE='PLOT2D_'//modus//TRIM( model_string ),& 352 FORM='UNFORMATTED' ) 353 WRITE ( 2 ) dx, eta, hu, ho 354 ENDIF 343 355 ENDIF 344 ENDIF 345 ! 346 !-- Read output time 347 IF ( netcdf_output .AND. id == 0) THEN348 IF ( netcdf_1 ) THEN349 READ ( id+110, END=998 ) simulated_time, time_step, av350 ELSE 351 ! 352 !-- For compatibility with earlier PALM versions 353 READ ( id+110, END=998 ) simulated_time, time_step354 av = 0356 ! 357 !-- Read output time 358 IF ( netcdf_output .AND. id == 0 ) THEN 359 IF ( netcdf_1 ) THEN 360 READ ( id+110, END=998 ) simulated_time, time_step, av 361 ELSE 362 ! 363 !-- For compatibility with earlier PALM versions 364 READ ( id+110, END=998 ) simulated_time, time_step 365 av = 0 366 ENDIF 355 367 ENDIF 356 ENDIF 357 ! 358 !-- Read subdomain indices 359 READ ( id+110, END=998 ) xa, xe, ya, ye 360 ! 361 !-- IF the PE made no output (in case that no part of the 362 !-- cross-section is situated on this PE), indices have the 363 !-- value -1 364 IF ( .NOT. ( xa == -1 .AND. xe == -1 .AND. & 365 ya == -1 .AND. ye == -1 ) ) THEN 366 ! 367 !-- Read the subdomain grid-point values 368 ALLOCATE( pf_tmp(xa:xe,ya:ye) ) 369 READ ( id+110 ) pf_tmp 370 pf(xa:xe,ya:ye) = pf_tmp 371 DEALLOCATE( pf_tmp ) 372 ENDIF 373 IF ( id == 0 ) fanz(av) = fanz(av) + 1 374 375 ENDDO 376 ! 377 !-- Write the data of the total domain cross-section 378 IF ( iso2d_output ) WRITE ( 2 ) pf(nxa:nxe,nya:nye) 368 ! 369 !-- Read subdomain indices 370 READ ( id+110, END=998 ) xa, xe, ya, ye 371 ! 372 !-- IF the PE made no output (in case that no part of the 373 !-- cross-section is situated on this PE), indices have the 374 !-- value -1 375 IF ( .NOT. ( xa == -1 .AND. xe == -1 .AND. & 376 ya == -1 .AND. ye == -1 ) ) THEN 377 ! 378 !-- Read the subdomain grid-point values 379 ALLOCATE( pf_tmp(xa:xe,ya:ye) ) 380 READ ( id+110 ) pf_tmp 381 pf(xa:xe,ya:ye) = pf_tmp 382 DEALLOCATE( pf_tmp ) 383 ENDIF 384 IF ( id == 0 ) fanz(av) = fanz(av) + 1 385 386 ENDDO 387 ! 388 !-- Write the data of the total domain cross-section 389 IF ( iso2d_output ) WRITE ( 2 ) pf(nxa:nxe,nya:nye) 379 390 380 391 ! 381 !-- Write same data in NetCDF format382 IF ( netcdf_output ) THEN383 #if defined( __netcdf ) 384 ! 385 !-- Check if a new time step has begun; if yes write data to time386 !-- axis387 IF ( current_var(av) > num_var(av) ) THEN388 current_var(av) = 1389 nc_stat = NF90_PUT_VAR( id_set(av), id_var_time(av), &390 (/ simulated_time /), &391 start = (/ time_step /), &392 count = (/ 1 /) )393 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 7 )394 ENDIF395 396 ! 397 !-- Now write the data; this is mode dependent398 SELECT CASE ( modus )399 400 CASE ( 'XY' )401 nc_stat = NF90_PUT_VAR( id_set(av),&392 !-- Write same data in NetCDF format 393 IF ( netcdf_output ) THEN 394 #if defined( __netcdf ) 395 ! 396 !-- Check if a new time step has begun; if yes write data to 397 !-- time axis 398 IF ( current_var(av) > num_var(av) ) THEN 399 current_var(av) = 1 400 nc_stat = NF90_PUT_VAR( id_set(av), id_var_time(av), & 401 (/ simulated_time /), & 402 start = (/ time_step /), & 403 count = (/ 1 /) ) 404 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 7 ) 405 ENDIF 406 407 ! 408 !-- Now write the data; this is mode dependent 409 SELECT CASE ( modus ) 410 411 CASE ( 'XY' ) 412 nc_stat = NF90_PUT_VAR( id_set(av), & 402 413 id_var(av,current_var(av)), & 403 414 pf(nxa:nxe,nya:nye), & 404 415 start = (/ 1, 1, current_level(av), time_step /), & 405 416 count = (/ nxe-nxa+1, nye-nya+1, 1, 1 /) ) 406 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 8) 417 IF ( nc_stat /= NF90_NOERR ) THEN 418 CALL handle_netcdf_error( 8 ) 419 ENDIF 407 420 408 CASE ( 'XZ' )409 nc_stat = NF90_PUT_VAR( id_set(av),&421 CASE ( 'XZ' ) 422 nc_stat = NF90_PUT_VAR( id_set(av), & 410 423 id_var(av,current_var(av)), & 411 424 pf(nxa:nxe,nya:nye), & 412 425 start = (/ 1, current_level(av), 1, time_step /), & 413 426 count = (/ nxe-nxa+1, 1, nye-nya+1, 1 /) ) 414 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 9) 415 416 CASE ( 'YZ' ) 417 nc_stat = NF90_PUT_VAR( id_set(av), & 427 IF ( nc_stat /= NF90_NOERR ) THEN 428 CALL handle_netcdf_error( 9 ) 429 ENDIF 430 431 CASE ( 'YZ' ) 432 nc_stat = NF90_PUT_VAR( id_set(av), & 418 433 id_var(av,current_var(av)), & 419 434 pf(nxa:nxe,nya:nye), & 420 435 start = (/ current_level(av), 1, 1, time_step /), & 421 436 count = (/ 1, nxe-nxa+1, nye-nya+1, 1 /) ) 422 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error(10) 423 424 END SELECT 425 426 ! 427 !-- Data is written, check if max level is reached 428 current_level(av) = current_level(av) + 1 429 IF ( current_level(av) > levels(av,current_var(av)) ) THEN 430 current_level(av) = 1 431 current_var(av) = current_var(av) + 1 437 IF ( nc_stat /= NF90_NOERR ) THEN 438 CALL handle_netcdf_error( 10 ) 439 ENDIF 440 441 END SELECT 442 443 ! 444 !-- Data is written, check if max level is reached 445 current_level(av) = current_level(av) + 1 446 IF ( current_level(av) > levels(av,current_var(av)) ) THEN 447 current_level(av) = 1 448 current_var(av) = current_var(av) + 1 449 ENDIF 450 451 #endif 432 452 ENDIF 433 453 434 #endif 435 ENDIF 436 437 ENDDO 438 439 998 IF ( danz /= 0 ) THEN 454 ENDDO 455 456 ENDIF 457 458 998 IF ( danz /= 0 .AND. .NOT. netcdf_parallel ) THEN 440 459 ! 441 460 !-- Print the number of the arrays processed … … 452 471 CLOSE ( 2 ) 453 472 DEALLOCATE ( eta, ho, hu, pf ) 454 ENDIF 455 456 ! 457 !-- Close the NetCDF file 458 IF ( netcdf_output .AND. danz /= 0 ) THEN 459 #if defined( __netcdf ) 460 IF ( netcdf_0 ) THEN 461 nc_stat = NF90_CLOSE( id_set(0) ) 462 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 11 ) 473 474 ! 475 !-- Close the NetCDF file 476 IF ( netcdf_output ) THEN 477 #if defined( __netcdf ) 478 IF ( netcdf_0 ) THEN 479 nc_stat = NF90_CLOSE( id_set(0) ) 480 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 11 ) 481 ENDIF 482 IF ( netcdf_1 ) THEN 483 nc_stat = NF90_CLOSE( id_set(1) ) 484 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 12 ) 485 ENDIF 486 #endif 463 487 ENDIF 464 IF ( netcdf_1 ) THEN 465 nc_stat = NF90_CLOSE( id_set(1) ) 466 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 12 ) 467 ENDIF 488 ENDIF 489 490 ! 491 !-- Output required cpu time 492 IF ( danz /= 0 .AND. .NOT. netcdf_parallel ) THEN 493 #if defined( __lc ) || defined( __decalpha ) || defined( __nec ) 494 CALL SYSTEM_CLOCK( count, count_rate ) 495 cpu_end_time = REAL( count ) / REAL( count_rate ) 496 WRITE (*,'(5X,A,F9.3,A)') 'Required cpu-time: ', & 497 cpu_end_time-cpu_start_time, ' sec' 498 #elif defined( __ibm ) 499 cpu_end_time = IRTC( ) * 1E-9 500 WRITE (*,'(5X,A,F9.3,A)') 'Required cpu-time: ', & 501 cpu_end_time-cpu_start_time, ' sec' 502 #else 503 CONTINUE 468 504 #endif 469 505 ENDIF … … 485 521 ! 486 522 !-- Combine the 3D-arrays 523 netcdf_parallel = .FALSE. 524 525 ! 526 !-- Info-output 527 PRINT*, ' ' 528 PRINT*, '*** combine_plot_fields ***' 529 530 ! 531 !-- Take current time 532 #if defined( __lc ) || defined( __decalpha ) || defined( __nec ) 533 CALL SYSTEM_CLOCK( count, count_rate ) 534 cpu_start_time = REAL( count ) / REAL( count_rate ) 535 #elif defined( __ibm ) 536 cpu_start_time = IRTC( ) * 1E-9 537 #else 538 PRINT*, '+++ INFORMATIVE: no time measurement defined on this host' 539 #endif 487 540 488 541 ! … … 500 553 IF ( netcdf_0 .OR. netcdf_1 ) THEN 501 554 netcdf_output = .TRUE. 555 ! 556 !-- Inquire whether the NetCDF file is already complete (parallel output) 557 INQUIRE( FILE='NO_COMBINE_PLOT_FIELDS_3D', EXIST=netcdf_parallel ) 558 IF ( netcdf_parallel ) THEN 559 netcdf_parallel = .TRUE. 560 ELSE 561 netcdf_parallel = .FALSE. 562 ENDIF 502 563 ELSE 503 564 netcdf_output = .FALSE. … … 505 566 506 567 ! 507 !-- Check, if file from PE0 exists 508 danz = 0 509 WRITE (id_string,'(I4.4)') danz 510 INQUIRE ( & 511 FILE='PLOT3D_DATA'//TRIM( model_string )//'_'//TRIM( id_string ), & 512 EXIST=found ) 568 !-- Check, if file from PE0 exists; not neccessary in case of parallel 569 !-- PALM output 570 IF ( .NOT. netcdf_parallel ) THEN 571 danz = 0 572 WRITE (id_string,'(I4.4)') danz 573 INQUIRE ( & 574 FILE='PLOT3D_DATA'//TRIM( model_string )//'_'//TRIM( id_string ), & 575 EXIST=found ) 576 ELSE 577 found = .FALSE. 578 ENDIF 513 579 514 580 ! … … 533 599 ENDDO 534 600 535 ! 536 !-- Info-output 537 PRINT*, ' ' 538 PRINT*, '*** combine_plot_fields ***' 539 #if defined( __netcdf ) 540 IF ( netcdf_output ) PRINT*, ' NetCDF output enabled' 601 #if defined( __netcdf ) 602 IF ( netcdf_output ) THEN 603 IF ( netcdf_parallel ) THEN 604 PRINT*, ' NetCDF data are in one file (NetCDF4-format)', & 605 ' - merging not neccessary' 606 ELSE 607 PRINT*, ' NetCDF output enabled' 608 ENDIF 609 ENDIF 541 610 #else 542 611 IF ( netcdf_output ) THEN … … 545 614 ENDIF 546 615 #endif 547 IF ( danz /= 0 ) THEN 548 PRINT*, ' 3D-data: ', danz, ' file(s) found' 549 ELSE 550 IF ( found .AND. compressed ) THEN 551 PRINT*, '+++ no 3D-data processing, since data are compressed' 616 IF ( .NOT. netcdf_parallel ) THEN 617 IF ( danz /= 0 ) THEN 618 PRINT*, ' 3D-data: ', danz, ' file(s) found' 552 619 ELSE 553 PRINT*, ' no 3D-data file available' 554 ENDIF 555 ENDIF 556 557 IF ( netcdf_output .AND. danz /= 0 ) THEN 620 IF ( found .AND. compressed ) THEN 621 PRINT*, '+++ no 3D-data processing, since data are compressed' 622 ELSE 623 PRINT*, ' no 3D-data file available' 624 ENDIF 625 ENDIF 626 ENDIF 627 628 IF ( netcdf_output .AND. .NOT. netcdf_parallel .AND. danz /= 0 ) THEN 558 629 #if defined( __netcdf ) 559 630 DO av = 0, 1 … … 623 694 ! 624 695 !-- Read arrays, until the end of the file is reached 625 current_var = 999999999 626 fanz = 0 627 DO WHILE ( danz /= 0 ) 628 629 ! 630 !-- Loop over all files 631 DO id = 0, danz-1 632 ! 633 !-- File from PE0 contains special information at the beginning, 634 !-- concerning the lower and upper indices of the total-domain used in 635 !-- PALM (nxag, nxeg, nyag, nyeg, nzag, nzeg) and the lower and upper 636 !-- indices of the array to be written by this routine (nxa, nxe, nya, 637 !-- nye, nza, nze). Usually nxag=-1 and nxa=0, nyag=-1 and nya=0, 638 !-- nzeg=nz and nze=nz_plot3d. 639 !-- Allocate necessary array and open the output file. 640 IF ( id == 0 .AND. fanz(0) == 0 .AND. fanz(1) == 0 ) THEN 641 READ ( id+110 ) nxag, nxeg, nyag, nyeg, nzag, nzeg 642 READ ( id+110 ) nxa, nxe, nya, nye, nza, nze 643 ALLOCATE ( pf3d(nxa:nxe,nya:nye,nza:nze) ) 644 IF ( avs_output ) THEN 645 OPEN ( 2, FILE='PLOT3D_DATA'//TRIM( model_string ), & 646 FORM='UNFORMATTED' ) 696 IF ( .NOT. netcdf_parallel ) THEN 697 698 current_var = 999999999 699 fanz = 0 700 DO WHILE ( danz /= 0 ) 701 702 ! 703 !-- Loop over all files 704 DO id = 0, danz-1 705 ! 706 !-- File from PE0 contains special information at the beginning, 707 !-- concerning the lower and upper indices of the total-domain used 708 !-- in PALM (nxag, nxeg, nyag, nyeg, nzag, nzeg) and the lower and 709 !-- upper indices of the array to be written by this routine (nxa, 710 !-- nxe, nya, nye, nza, nze). Usually nxag=-1 and nxa=0, nyag=-1 711 !-- and nya=0, nzeg=nz and nze=nz_plot3d. 712 !-- Allocate necessary array and open the output file. 713 IF ( id == 0 .AND. fanz(0) == 0 .AND. fanz(1) == 0 ) THEN 714 READ ( id+110 ) nxag, nxeg, nyag, nyeg, nzag, nzeg 715 READ ( id+110 ) nxa, nxe, nya, nye, nza, nze 716 ALLOCATE ( pf3d(nxa:nxe,nya:nye,nza:nze) ) 717 IF ( avs_output ) THEN 718 OPEN ( 2, FILE='PLOT3D_DATA'//TRIM( model_string ), & 719 FORM='UNFORMATTED' ) 720 ENDIF 647 721 ENDIF 648 ENDIF 649 650 ! 651 !-- Read output time 652 IF ( netcdf_output .AND. id == 0) THEN653 IF ( netcdf_1 ) THEN654 READ ( id+110, END=999 ) simulated_time, time_step, av655 ELSE 656 ! 657 !-- For compatibility with earlier PALM versions 658 READ ( id+110, END=999 ) simulated_time, time_step659 av = 0722 723 ! 724 !-- Read output time 725 IF ( netcdf_output .AND. id == 0 ) THEN 726 IF ( netcdf_1 ) THEN 727 READ ( id+110, END=999 ) simulated_time, time_step, av 728 ELSE 729 ! 730 !-- For compatibility with earlier PALM versions 731 READ ( id+110, END=999 ) simulated_time, time_step 732 av = 0 733 ENDIF 660 734 ENDIF 661 ENDIF 662 663 ! 664 !-- Read subdomain indices and grid point values 665 READ ( id+110, END=999 ) xa, xe, ya, ye, za, ze666 ALLOCATE( pf3d_tmp(xa:xe,ya:ye,za:ze) )667 READ ( id+110 ) pf3d_tmp 668 669 xxa = MAX( nxa, xa)670 xxe = MIN( nxe, xe)671 yya = MAX( nya, ya)672 yye = MIN( nye, ye)673 zza = MAX( nza, za)674 zze = MIN( nze, ze )675 DO k = zza, zze676 DO j = yya, yye677 DO i = xxa, xxe678 pf3d(i,j,k) = pf3d_tmp(i,j,k)735 736 ! 737 !-- Read subdomain indices and grid point values 738 READ ( id+110, END=999 ) xa, xe, ya, ye, za, ze 739 ALLOCATE( pf3d_tmp(xa:xe,ya:ye,za:ze) ) 740 READ ( id+110 ) pf3d_tmp 741 742 xxa = MAX( nxa, xa ) 743 xxe = MIN( nxe, xe ) 744 yya = MAX( nya, ya ) 745 yye = MIN( nye, ye ) 746 zza = MAX( nza, za ) 747 zze = MIN( nze, ze ) 748 DO k = zza, zze 749 DO j = yya, yye 750 DO i = xxa, xxe 751 pf3d(i,j,k) = pf3d_tmp(i,j,k) 752 ENDDO 679 753 ENDDO 680 754 ENDDO 755 756 DEALLOCATE( pf3d_tmp ) 757 IF ( id == 0 ) fanz(av) = fanz(av) + 1 758 681 759 ENDDO 682 760 683 DEALLOCATE( pf3d_tmp ) 684 IF ( id == 0 ) fanz(av) = fanz(av) + 1 761 ! 762 !-- Write data of the total domain 763 IF ( avs_output ) WRITE ( 2 ) pf3d(nxa:nxe,nya:nye,nza:nze) 764 765 ! 766 !-- Write same data in NetCDF format 767 IF ( netcdf_output ) THEN 768 #if defined( __netcdf ) 769 ! 770 !-- Check if a new time step has begun; if yes write data to time 771 !-- axis 772 IF ( current_var(av) > num_var(av) ) THEN 773 current_var(av) = 1 774 nc_stat = NF90_PUT_VAR( id_set(av), id_var_time(av), & 775 (/ simulated_time /),& 776 start = (/ time_step /), count = (/ 1 /) ) 777 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 17 ) 778 ENDIF 779 780 ! 781 !-- Now write the data 782 nc_stat = NF90_PUT_VAR( id_set(av), id_var(av,current_var(av)),& 783 pf3d, start = (/ 1, 1, 1, time_step /),& 784 count = (/ nxe-nxa+1, nye-nya+1, nze-nza+1, 1 /) ) 785 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 18 ) 786 787 current_var(av) = current_var(av) + 1 788 789 #endif 790 ENDIF 685 791 686 792 ENDDO 687 793 688 ! 689 !-- Write data of the total domain 690 IF ( avs_output ) WRITE ( 2 ) pf3d(nxa:nxe,nya:nye,nza:nze) 691 692 ! 693 !-- Write same data in NetCDF format 694 IF ( netcdf_output ) THEN 695 #if defined( __netcdf ) 696 ! 697 !-- Check if a new time step has begun; if yes write data to time axis 698 IF ( current_var(av) > num_var(av) ) THEN 699 current_var(av) = 1 700 nc_stat = NF90_PUT_VAR( id_set(av), id_var_time(av), & 701 (/ simulated_time /),& 702 start = (/ time_step /), count = (/ 1 /) ) 703 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 17 ) 704 ENDIF 705 706 ! 707 !-- Now write the data 708 nc_stat = NF90_PUT_VAR( id_set(av), id_var(av,current_var(av)), & 709 pf3d, start = (/ 1, 1, 1, time_step /), & 710 count = (/ nxe-nxa+1, nye-nya+1, nze-nza+1, 1 /) ) 711 IF ( nc_stat /= NF90_NOERR ) CALL handle_netcdf_error( 18 ) 712 713 current_var(av) = current_var(av) + 1 714 715 #endif 716 ENDIF 717 718 ENDDO 719 720 999 IF ( danz /= 0 ) THEN 794 ENDIF 795 796 999 IF ( danz /= 0 .AND. .NOT. netcdf_parallel ) THEN 721 797 ! 722 798 !-- Print the number of arrays processed … … 746 822 #endif 747 823 ENDIF 824 825 ! 826 !-- Output required cpu time 827 #if defined( __lc ) || defined( __decalpha ) || defined( __nec ) 828 CALL SYSTEM_CLOCK( count, count_rate ) 829 cpu_end_time = REAL( count ) / REAL( count_rate ) 830 WRITE (*,'(5X,A,F9.3,A)') 'Required cpu-time: ', & 831 cpu_end_time-cpu_start_time, ' sec' 832 #elif defined( __ibm ) 833 cpu_end_time = IRTC( ) * 1E-9 834 WRITE (*,'(5X,A,F9.3,A)') 'Required cpu-time: ', & 835 cpu_end_time-cpu_start_time, ' sec' 836 #endif 837 748 838 ENDIF 749 839
Note: See TracChangeset
for help on using the changeset viewer.