Changeset 493 for palm/trunk


Ignore:
Timestamp:
Mar 1, 2010 8:30:24 AM (15 years ago)
Author:
raasch
Message:

New:
---
Output in NetCDF4-format. New d3par-parameter netcdf_data_format.

(check_open, check_parameters, close_file, data_output_2d, data_output_3d, header, modules, netcdf, parin)

Modules to be loaded for compilation (mbuild) or job execution (mrun)
can be given in the configuration file using variable modules. Example:

%modules ifort/11.0.069:netcdf lcsgih parallel

This method replaces the (undocumented) mpilib-variable.

WARNING: All fixed settings of modules in the scripts mbuild, mrun, and subjob
have been removed! Please set the modules variable appropriately in your
configuration file. (mbuild, mrun, subjob)

Changed:


Parameters netcdf_64bit and netcdf_64bit_3d have been removed. Use
netcdf_data_format = 2 for choosing the classic 64bit-offset format (this is
the default). The offset-format can not be set independently for the
3d-output-data any more.

Parameters netcdf_format_mask, netcdf_format_mask_av, and variables
nc_format_mask, format_parallel_io removed. They are replaced by the new
parameter netcdf_data_format. (check_open, close_file,
data_output_mask, header, init_masks, modules, parin)

Errors:


bugfix in trunk/UTIL/Makefile: forgot to compile for interpret_config

Bugfix: timeseries data have to be collected by PE0 (user_statistics)

Location:
palm/trunk
Files:
1 deleted
22 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/DOC/app/appendix_a.html

    r411 r493  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    22<html><head>
     3
     4
     5
     6
     7
     8
     9
    310
    411
     
    3441
    3542   
    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">
    3744
    3845      <tbody>
    3946    <tr>
    4047
    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
    4453
    4554      </tr>
     
    4958         <td style="vertical-align: top;"><a name="PA0001"></a>PA0001</td>
    5059
    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
    5567
    5668      </tr>
     
    6072         <td style="vertical-align: top;"><a name="PA0002"></a>PA0002</td>
    6173
    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
    6579
    6680      </tr>
     
    7084         <td style="vertical-align: top;"><a name="PA0003"></a>PA0003</td>
    7185
    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
    7591
    7692      </tr>
     
    8096         <td style="vertical-align: top;"><a name="PA0004"></a>PA0004</td>
    8197
    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
    86104
    87105      </tr>
     
    91109         <td style="vertical-align: top;"><a name="PA0005"></a>PA0005</td>
    92110
    93          <td>
    94       <p>coupling mode "...": dt_coupling &lt;= 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 &lt;= 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
    97117
    98118      </tr>
     
    102122         <td style="vertical-align: top;"><a name="PA0006"></a>PA0006</td>
    103123
    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
    108130
    109131      </tr>
     
    113135         <td style="vertical-align: top;"><a name="PA0007"></a>PA0007</td>
    114136
    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
    119143
    120144      </tr>
     
    124148         <td style="vertical-align: top;"><a name="PA0008"></a>PA0008</td>
    125149
    126          <td>
    127       <p>coupling mode "...": simulation_time_since_reference =
     150         <td style="vertical-align: top;">
     151      coupling mode "...": simulation_time_since_reference =
    128152             ... 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
    131157
    132158      </tr>
     
    136162         <td style="vertical-align: top;"><a name="PA0009"></a>PA0009</td>
    137163
    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
    142170
    143171      </tr>
     
    147175         <td style="vertical-align: top;"><a name="PA0010"></a>PA0010</td>
    148176
    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
    153183
    154184      </tr>
     
    158188         <td style="vertical-align: top;"><a name="PA0011"></a>PA0011</td>
    159189
    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
    164196
    165197      </tr>
     
    169201         <td style="vertical-align: top;"><a name="PA0012"></a>PA0012</td>
    170202
    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
    175209
    176210      </tr>
     
    180214         <td style="vertical-align: top;"><a name="PA0013"></a>PA0013</td>
    181215
    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
    185221
    186222      </tr>
     
    190226         <td style="vertical-align: top;"><a name="PA0014"></a>PA0014</td>
    191227
    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
    195233
    196234      </tr>
     
    200238         <td style="vertical-align: top;"><a name="PA0015"></a>PA0015</td>
    201239
    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
    205245
    206246      </tr>
     
    210250         <td style="vertical-align: top;"><a name="PA0016"></a>PA0016</td>
    211251
    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
    216258
    217259      </tr>
     
    221263         <td style="vertical-align: top;"><a name="PA0017"></a>PA0017</td>
    222264
    223          <td>
    224       <p>psolver = "..." only works for a
     265         <td style="vertical-align: top;">
     266      psolver = "..." only works for a
    225267             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
    228272
    229273      </tr>
     
    233277         <td style="vertical-align: top;"><a name="PA0018"></a>PA0018</td>
    234278
    235          <td>
    236       <p>psolver = ".." does not work for subdomains with
     279         <td style="vertical-align: top;">
     280      psolver = ".." does not work for subdomains with
    237281             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
    240287
    241288      </tr>
     
    245292         <td style="vertical-align: top;"><a name="PA0019"></a>PA0019</td>
    246293
    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
    250299
    251300      </tr>
     
    255304         <td style="vertical-align: top;"><a name="PA0020"></a>PA0020</td>
    256305
    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
    260311
    261312      </tr>
     
    265316         <td style="vertical-align: top;"><a name="PA0021"></a>PA0021</td>
    266317
    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
    270323
    271324      </tr>
     
    275328        <td style="vertical-align: top;"><a name="PA0022"></a>PA0022</td>
    276329
    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
    280335
    281336      </tr>
     
    285340        <td style="vertical-align: top;"><a name="PA0023"></a>PA0023</td>
    286341
    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
    291348
    292349      </tr>
     
    296353        <td style="vertical-align: top;"><a name="PA0024"></a>PA0024</td>
    297354
    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
    301360
    302361      </tr>
     
    306365        <td style="vertical-align: top;"><a name="PA0025"></a>PA0025</td>
    307366
    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
    312373
    313374      </tr>
     
    317378        <td style="vertical-align: top;"><a name="PA0026"></a>PA0026</td>
    318379
    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
    323386
    324387      </tr>
     
    328391        <td style="vertical-align: top;"><a name="PA0027"></a>PA0027</td>
    329392
    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
    333398
    334399      </tr>
     
    338403        <td style="vertical-align: top;"><a name="PA0028"></a>PA0028</td>
    339404
    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
    344411
    345412      </tr>
     
    349416        <td style="vertical-align: top;"><a name="PA0029"></a>PA0029</td>
    350417
    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
    355424
    356425      </tr>
     
    360429        <td style="vertical-align: top;"><a name="PA0030"></a>PA0030</td>
    361430
    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
    365436
    366437      </tr>
     
    370441        <td style="vertical-align: top;"><a name="PA0031"></a>PA0031</td>
    371442
    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
    376449
    377450      </tr>
     
    381454        <td style="vertical-align: top;"><a name="PA0032"></a>PA0032</td>
    382455
    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
    387462
    388463      </tr>
     
    392467        <td style="vertical-align: top;"><a name="PA0033"></a>PA0033</td>
    393468
    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
    398475
    399476      </tr>
     
    403480        <td style="vertical-align: top;"><a name="PA0034"></a>PA0034</td>
    404481
    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
    408487
    409488      </tr>
     
    413492        <td style="vertical-align: top;"><a name="PA0035"></a>PA0035</td>
    414493
    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
    419500
    420501      </tr>
     
    424505        <td style="vertical-align: top;"><a name="PA0036"></a>PA0036</td>
    425506
    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
    430513
    431514      </tr>
     
    435518        <td style="vertical-align: top;"><a name="PA0037"></a>PA0037</td>
    436519
    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
    440525
    441526      </tr>
     
    445530        <td style="vertical-align: top;"><a name="PA0038"></a>PA0038</td>
    446531
    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
    451538
    452539      </tr>
     
    456543        <td style="vertical-align: top;"><a name="PA0039"></a>PA0039</td>
    457544
    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
    461550
    462551      </tr>
     
    466555        <td style="vertical-align: top;"><a name="PA0040"></a>PA0040</td>
    467556
    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
    471562
    472563      </tr>
     
    476567        <td style="vertical-align: top;"><a name="PA0041"></a>PA0041</td>
    477568
    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
    482575
    483576      </tr>
     
    487580        <td style="vertical-align: top;"><a name="PA0042"></a>PA0042</td>
    488581
    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
    492587
    493588      </tr>
     
    497592        <td style="vertical-align: top;"><a name="PA0043"></a>PA0043</td>
    498593
    499          <td>
    500       <p>ABS( alpha_surface = ... ) must be&lt; 90.0</p>
    501       </td>
     594         <td style="vertical-align: top;">
     595      ABS( alpha_surface = ... ) must be&lt; 90.0
     596      </td><td style="vertical-align: top;"><br>
     597      </td>
     598
    502599
    503600      </tr>
     
    507604        <td style="vertical-align: top;"><a name="PA0044"></a>PA0044</td>
    508605
    509          <td>
    510       <p>dt = ... &lt;= 0.0</p>
    511       </td>
     606         <td style="vertical-align: top;">
     607      dt = ... &lt;= 0.0
     608      </td><td style="vertical-align: top;"><br>
     609      </td>
     610
    512611
    513612      </tr>
     
    517616        <td style="vertical-align: top;"><a name="PA0045"></a>PA0045</td>
    518617
    519          <td>
    520       <p>cfl_factor = ...  out of range
    521              0.0 &lt; cfl_factor &lt;= 1.0 is required</p>
    522       </td>
     618         <td style="vertical-align: top;">
     619      cfl_factor = ...  out of range
     620             0.0 &lt; cfl_factor &lt;= 1.0 is required
     621      </td><td style="vertical-align: top;"><br>
     622      </td>
     623
    523624
    524625      </tr>
     
    528629        <td style="vertical-align: top;"><a name="PA0046"></a>PA0046</td>
    529630
    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
    534637
    535638      </tr>
     
    539642        <td style="vertical-align: top;"><a name="PA0047"></a>PA0047</td>
    540643
    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
    545650
    546651      </tr>
     
    550655        <td style="vertical-align: top;"><a name="PA0048"></a>PA0048</td>
    551656
    552          <td>
    553       <p>variable translation speed used for
     657         <td style="vertical-align: top;">
     658      variable translation speed used for
    554659             galilei-transformation, which may cause instabilities
    555              in stably stratified regions</p>
    556       </td>
    557 
    558       </tr>
    559     <tr>
    560 
    561       </tr>
    562 
    563         <tr>
     660             in stably stratified regions
     661      </td><td style="vertical-align: top;"><br>
     662      </td>
     663
     664
     665      </tr>
     666
     667
     668       <tr>
    564669      <td style="vertical-align: top;"><a name="PA0049"></a>PA0049</td>
    565670
    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
    569676
    570677      </tr>
     
    574681        <td style="vertical-align: top;"><a name="PA0050"></a>PA0050</td>
    575682
    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
    579688
    580689      </tr>
     
    584693        <td style="vertical-align: top;"><a name="PA0051"></a>PA0051</td>
    585694
    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
    590701
    591702      </tr>
     
    595706        <td style="vertical-align: top;"><a name="PA0052"></a>PA0052</td>
    596707
    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
    601714
    602715      </tr>
     
    606719        <td style="vertical-align: top;"><a name="PA0053"></a>PA0053</td>
    607720
    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
    612727
    613728      </tr>
     
    617732        <td style="vertical-align: top;"><a name="PA0054"></a>PA0054</td>
    618733
    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
    623740
    624741      </tr>
     
    628745        <td style="vertical-align: top;"><a name="PA0055"></a>PA0055</td>
    629746
    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
    633752
    634753      </tr>
     
    638757        <td style="vertical-align: top;"><a name="PA0056"></a>PA0056</td>
    639758
    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
    643764
    644765      </tr>
     
    648769        <td style="vertical-align: top;"><a name="PA0057"></a>PA0057</td>
    649770
    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
    653776
    654777      </tr>
     
    658781        <td style="vertical-align: top;"><a name="PA0058"></a>PA0058</td>
    659782
    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
    663788
    664789      </tr>
     
    668793        <td style="vertical-align: top;"><a name="PA0059"></a>PA0059</td>
    669794
    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
    673800
    674801      </tr>
     
    678805        <td style="vertical-align: top;"><a name="PA0060"></a>PA0060</td>
    679806
    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
    684813
    685814      </tr>
     
    689818        <td style="vertical-align: top;"><a name="PA0061"></a>PA0061</td>
    690819
    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
    694825
    695826      </tr>
     
    699830        <td style="vertical-align: top;"><a name="PA0062"></a>PA0062</td>
    700831
    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
    704837
    705838      </tr>
     
    709842        <td style="vertical-align: top;"><a name="PA0063"></a>PA0063</td>
    710843
    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
    714849
    715850      </tr>
     
    719854        <td style="vertical-align: top;"><a name="PA0064"></a>PA0064</td>
    720855
    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
    725862
    726863      </tr>
     
    730867        <td style="vertical-align: top;"><a name="PA0065"></a>PA0065</td>
    731868
    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
    736875
    737876      </tr>
     
    741880        <td style="vertical-align: top;"><a name="PA0066"></a>PA0066</td>
    742881
    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
    747888
    748889      </tr>
     
    752893        <td style="vertical-align: top;"><a name="PA0067"></a>PA0067</td>
    753894
    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
    758901
    759902      </tr>
     
    763906        <td style="vertical-align: top;"><a name="PA0068"></a>PA0068</td>
    764907
    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
    768913
    769914      </tr>
     
    773918        <td style="vertical-align: top;"><a name="PA0069"></a>PA0069</td>
    774919
    775          <td>boundary condition: bc_sa_t = "..." requires to set
     920         <td style="vertical-align: top;">boundary condition: bc_sa_t = "..." requires to set
    776921             top_salinityflux
    777       <p></p>
    778       </td>
    779 
    780       </tr>
    781 
    782922     
     923      </td><td style="vertical-align: top;"><br>
     924      </td>
     925
     926
     927      </tr>
     928
     929     
    783930      <tr>
    784931
    785932        <td style="vertical-align: top;"><a name="PA0070"></a>PA0070</td>
    786933
    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
    791940
    792941      </tr>
     
    796945        <td style="vertical-align: top;"><a name="PA0071"></a>PA0071</td>
    797946
    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
    801952
    802953      </tr>
     
    806957        <td style="vertical-align: top;"><a name="PA0072"></a>PA0072</td>
    807958
    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
    811964
    812965      </tr>
     
    816969        <td style="vertical-align: top;"><a name="PA0073"></a>PA0073</td>
    817970
    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
    822977
    823978      </tr>
     
    827982        <td style="vertical-align: top;"><a name="PA0074"></a>PA0074</td>
    828983
    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
    833990
    834991      </tr>
     
    838995        <td style="vertical-align: top;"><a name="PA0075"></a>PA0075</td>
    839996
    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
    8441003
    8451004      </tr>
     
    8491008        <td style="vertical-align: top;"><a name="PA0076"></a>PA0076</td>
    8501009
    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
    8541015
    8551016      </tr>
     
    8591020        <td style="vertical-align: top;"><a name="PA0077"></a>PA0077</td>
    8601021
    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
    8641027
    8651028      </tr>
     
    8691032        <td style="vertical-align: top;"><a name="PA0078"></a>PA0078</td>
    8701033
    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
    8741039
    8751040      </tr>
     
    8791044        <td style="vertical-align: top;"><a name="PA0079"></a>PA0079</td>
    8801045
    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
    8841051
    8851052      </tr>
     
    8891056        <td style="vertical-align: top;"><a name="PA0080"></a>PA0080</td>
    8901057
    891          <td>
    892       <p>overshoot_limit_... &lt; 0.0 is not allowed</p>
    893       </td>
     1058         <td style="vertical-align: top;">
     1059      overshoot_limit_... &lt; 0.0 is not allowed
     1060      </td><td style="vertical-align: top;"><br>
     1061      </td>
     1062
    8941063
    8951064      </tr>
     
    8991068        <td style="vertical-align: top;"><a name="PA0081"></a>PA0081</td>
    9001069
    901          <td>ups_limit_... &lt; 0.0 is not allowed
    902       <p></p>
    903       </td>
     1070         <td style="vertical-align: top;">ups_limit_... &lt; 0.0 is not allowed
     1071     
     1072      </td><td style="vertical-align: top;"><br>
     1073      </td>
     1074
    9041075
    9051076      </tr>
     
    9091080        <td style="vertical-align: top;"><a name="PA0082"></a>PA0082</td>
    9101081
    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
    9151088
    9161089      </tr>
     
    9201093        <td style="vertical-align: top;"><a name="PA0083"></a>PA0083</td>
    9211094
    922          <td>
    923       <p>normalizing_region = ... must be &gt;= 0 and &lt;= ... (value
    924              of statistic_regions)</p>
    925       </td>
     1095         <td style="vertical-align: top;">
     1096      normalizing_region = ... must be &gt;= 0 and &lt;= ... (value
     1097             of statistic_regions)
     1098      </td><td style="vertical-align: top;"><br>
     1099      </td>
     1100
    9261101
    9271102      </tr>
     
    9311106        <td style="vertical-align: top;"><a name="PA0084"></a>PA0084</td>
    9321107
    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
    9371114
    9381115      </tr>
     
    9421119        <td style="vertical-align: top;"><a name="PA0085"></a>PA0085</td>
    9431120
    944          <td>
    945       <p>averaging_interval = ...  must be &lt;= dt_data_output = ...</p>
    946       </td>
     1121         <td style="vertical-align: top;">
     1122      averaging_interval = ...  must be &lt;= dt_data_output = ...
     1123      </td><td style="vertical-align: top;"><br>
     1124      </td>
     1125
    9471126
    9481127      </tr>
     
    9521131        <td style="vertical-align: top;"><a name="PA0086"></a>PA0086</td>
    9531132
    954          <td>
    955       <p>averaging_interval_pr = ...  must be &lt;= dt_dopr = ...</p>
    956       </td>
     1133         <td style="vertical-align: top;">
     1134      averaging_interval_pr = ...  must be &lt;= dt_dopr = ...
     1135      </td><td style="vertical-align: top;"><br>
     1136      </td>
     1137
    9571138
    9581139      </tr>
     
    9621143        <td style="vertical-align: top;"><a name="PA0087"></a>PA0087</td>
    9631144
    964          <td>
    965       <p>averaging_interval_sp = ...  must be &lt;= dt_dosp = ...</p>
    966       </td>
     1145         <td style="vertical-align: top;">
     1146      averaging_interval_sp = ...  must be &lt;= dt_dosp = ...
     1147      </td><td style="vertical-align: top;"><br>
     1148      </td>
     1149
    9671150
    9681151      </tr>
     
    9721155        <td style="vertical-align: top;"><a name="PA0088"></a>PA0088</td>
    9731156
    974          <td>
    975       <p>dt_averaging_input = ...  must
    976              be &lt;= averaging_interval = ...</p>
    977       </td>
     1157         <td style="vertical-align: top;">
     1158      dt_averaging_input = ...  must
     1159             be &lt;= averaging_interval = ...
     1160      </td><td style="vertical-align: top;"><br>
     1161      </td>
     1162
    9781163
    9791164      </tr>
     
    9831168        <td style="vertical-align: top;"><a name="PA0089"></a>PA0089</td>
    9841169
    985          <td>
    986       <p>dt_averaging_input_pr = ...  must be
    987                        &lt;= averaging_interval_pr = ...</p>
    988       </td>
     1170         <td style="vertical-align: top;">
     1171      dt_averaging_input_pr = ...  must be
     1172                       &lt;= averaging_interval_pr = ...
     1173      </td><td style="vertical-align: top;"><br>
     1174      </td>
     1175
    9891176
    9901177      </tr>
     
    9941181        <td style="vertical-align: top;"><a name="PA0090"></a>PA0090</td>
    9951182
    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
    10001189
    10011190      </tr>
     
    10051194        <td style="vertical-align: top;"><a name="PA0091"></a>PA0091</td>
    10061195
    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
    10111202
    10121203      </tr>
     
    10161207        <td style="vertical-align: top;"><a name="PA0092"></a>PA0092</td>
    10171208
    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
    10221215
    10231216      </tr>
     
    10271220        <td style="vertical-align: top;"><a name="PA0093"></a>PA0093</td>
    10281221
    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
    10331228
    10341229      </tr>
     
    10381233        <td style="vertical-align: top;"><a name="PA0094"></a>PA0094</td>
    10391234
    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
    10441241
    10451242      </tr>
     
    10491246        <td style="vertical-align: top;"><a name="PA0095"></a>PA0095</td>
    10501247
    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
    10551254
    10561255      </tr>
     
    10601259        <td style="vertical-align: top;"><a name="PA0096"></a>PA0096</td>
    10611260
    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
    10661267
    10671268      </tr>
     
    10711272        <td style="vertical-align: top;"><a name="PA0097"></a>PA0097</td>
    10721273
    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
    10771280
    10781281      </tr>
     
    10821285        <td style="vertical-align: top;"><a name="PA0098"></a>PA0098</td>
    10831286
    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
    10871292
    10881293      </tr>
     
    10921297        <td style="vertical-align: top;"><a name="PA0099"></a>PA0099</td>
    10931298
    1094          <td>
    1095       <p>z_max_do1d = ...  must be &gt;= ... or &lt;= ...</p>
    1096       </td>
     1299         <td style="vertical-align: top;">
     1300      z_max_do1d = ...  must be &gt;= ... or &lt;= ...
     1301      </td><td style="vertical-align: top;"><br>
     1302      </td>
     1303
    10971304
    10981305      </tr>
     
    11021309        <td style="vertical-align: top;"><a name="PA0100"></a>PA0100</td>
    11031310
    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
    11071316
    11081317      </tr>
     
    11121321        <td style="vertical-align: top;"><a name="PA0101"></a>PA0101</td>
    11131322
    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
    11171328
    11181329      </tr>
     
    11221333        <td style="vertical-align: top;"><a name="PA0102"></a>PA0102</td>
    11231334
    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
    11281341
    11291342      </tr>
     
    11331346        <td style="vertical-align: top;"><a name="PA0103"></a>PA0103</td>
    11341347
    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
    11381353
    11391354      </tr>
     
    11431358        <td style="vertical-align: top;"><a name="PA0104"></a>PA0104</td>
    11441359
    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
    11491366
    11501367      </tr>
     
    11541371        <td style="vertical-align: top;"><a name="PA0105"></a>PA0105</td>
    11551372
    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
    11591378
    11601379      </tr>
     
    11641383        <td style="vertical-align: top;"><a name="PA0106"></a>PA0106</td>
    11651384
    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
    11701391
    11711392      </tr>
     
    11751396        <td style="vertical-align: top;"><a name="PA0107"></a>PA0107</td>
    11761397
    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
    11801403
    11811404      </tr>
     
    11851408        <td style="vertical-align: top;"><a name="PA0108"></a>PA0108</td>
    11861409
    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
    11901415
    11911416      </tr>
     
    11951420        <td style="vertical-align: top;"><a name="PA0109"></a>PA0109</td>
    11961421
    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
    12001427
    12011428      </tr>
     
    12051432        <td style="vertical-align: top;"><a name="PA0110"></a>PA0110</td>
    12061433
    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
    12101439
    12111440      </tr>
     
    12151444        <td style="vertical-align: top;"><a name="PA0111"></a>PA0111</td>
    12161445
    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
    12211452
    12221453      </tr>
     
    12261457        <td style="vertical-align: top;"><a name="PA0112"></a>PA0112</td>
    12271458
    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
    12311464
    12321465      </tr>
     
    12361469        <td style="vertical-align: top;"><a name="PA0113"></a>PA0113</td>
    12371470
    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
    12421477
    12431478      </tr>
     
    12471482        <td style="vertical-align: top;"><a name="PA0114"></a>PA0114</td>
    12481483
    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
    12521489
    12531490      </tr>
     
    12571494        <td style="vertical-align: top;"><a name="PA0115"></a>PA0115</td>
    12581495
    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
    12621501
    12631502      </tr>
     
    12671506        <td style="vertical-align: top;"><a name="PA0116"></a>PA0116</td>
    12681507
    1269          <td>z_max_do2d = ..., z_max_do2d must be &gt;= ... (zu(nzb+1))
     1508         <td style="vertical-align: top;">z_max_do2d = ..., z_max_do2d must be &gt;= ... (zu(nzb+1))
    12701509             and &lt;= ...(zu(nzt))
    1271       <p></p>
    1272       </td>
     1510     
     1511      </td><td style="vertical-align: top;"><br>
     1512      </td>
     1513
    12731514
    12741515      </tr>
     
    12781519        <td style="vertical-align: top;"><a name="PA0117"></a>PA0117</td>
    12791520
    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
    12831526
    12841527      </tr>
     
    12881531        <td style="vertical-align: top;"><a name="PA0118"></a>PA0118</td>
    12891532
    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
    12931538
    12941539      </tr>
     
    12981543        <td style="vertical-align: top;"><a name="PA0119"></a>PA0119</td>
    12991544
    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
    13031550
    13041551      </tr>
     
    13081555        <td style="vertical-align: top;"><a name="PA0120"></a>PA0120</td>
    13091556
    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
    13131562
    13141563      </tr>
     
    13181567        <td style="vertical-align: top;"><a name="PA0121"></a>PA0121</td>
    13191568
    1320          <td>
    1321       <p>km_constant = ... &lt; 0.0</p>
    1322       </td>
     1569         <td style="vertical-align: top;">
     1570      km_constant = ... &lt; 0.0
     1571      </td><td style="vertical-align: top;"><br>
     1572      </td>
     1573
    13231574
    13241575      </tr>
     
    13281579        <td style="vertical-align: top;"><a name="PA0122"></a>PA0122</td>
    13291580
    1330          <td>
    1331       <p>prandtl_number = ... &lt; 0.0</p>
    1332       </td>
     1581         <td style="vertical-align: top;">
     1582      prandtl_number = ... &lt; 0.0
     1583      </td><td style="vertical-align: top;"><br>
     1584      </td>
     1585
    13331586
    13341587      </tr>
     
    13381591        <td style="vertical-align: top;"><a name="PA0123"></a>PA0123</td>
    13391592
    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
    13431598
    13441599      </tr>
     
    13481603        <td style="vertical-align: top;"><a name="PA0124"></a>PA0124</td>
    13491604
    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
    13531610
    13541611      </tr>
     
    13581615        <td style="vertical-align: top;"><a name="PA0125"></a>PA0125</td>
    13591616
    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
    13631622
    13641623      </tr>
     
    13681627        <td style="vertical-align: top;"><a name="PA0126"></a>PA0126</td>
    13691628
    1370          <td>
    1371       <p>disturbance_level_b = ... must be &gt;= ... (zu(3))</p>
    1372       </td>
     1629         <td style="vertical-align: top;">
     1630      disturbance_level_b = ... must be &gt;= ... (zu(3))
     1631      </td><td style="vertical-align: top;"><br>
     1632      </td>
     1633
    13731634
    13741635      </tr>
     
    13781639        <td style="vertical-align: top;"><a name="PA0127"></a>PA0127</td>
    13791640
    1380          <td>
    1381       <p>disturbance_level_b = ... must be &lt;= ... (zu(nzt-2))</p>
    1382       </td>
     1641         <td style="vertical-align: top;">
     1642      disturbance_level_b = ... must be &lt;= ... (zu(nzt-2))
     1643      </td><td style="vertical-align: top;"><br>
     1644      </td>
     1645
    13831646
    13841647      </tr>
     
    13881651        <td style="vertical-align: top;"><a name="PA0128"></a>PA0128</td>
    13891652
    1390          <td>
    1391       <p>disturbance_level_t = ... must be &lt;= ... (zu(nzt-2))</p>
    1392       </td>
     1653         <td style="vertical-align: top;">
     1654      disturbance_level_t = ... must be &lt;= ... (zu(nzt-2))
     1655      </td><td style="vertical-align: top;"><br>
     1656      </td>
     1657
    13931658
    13941659      </tr>
     
    13981663        <td style="vertical-align: top;"><a name="PA0129"></a>PA0129</td>
    13991664
    1400          <td>
    1401       <p>disturbance_level_t = ... must
    1402              be &gt;= disturbance_level_b = ...</p>
    1403       </td>
     1665         <td style="vertical-align: top;">
     1666      disturbance_level_t = ... must
     1667             be &gt;= disturbance_level_b = ...
     1668      </td><td style="vertical-align: top;"><br>
     1669      </td>
     1670
    14041671
    14051672      </tr>
     
    14091676        <td style="vertical-align: top;"><a name="PA0130"></a>PA0130</td>
    14101677
    1411          <td>
    1412       <p>disturbance_level_ind_t =...  must
    1413                        be &gt;= disturbance_level_b = ...</p>
    1414       </td>
     1678         <td style="vertical-align: top;">
     1679      disturbance_level_ind_t =...  must
     1680                       be &gt;= disturbance_level_b = ...
     1681      </td><td style="vertical-align: top;"><br>
     1682      </td>
     1683
    14151684
    14161685      </tr>
     
    14201689        <td style="vertical-align: top;"><a name="PA0131"></a>PA0131</td>
    14211690
    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
    14251696
    14261697      </tr>
     
    14301701        <td style="vertical-align: top;"><a name="PA0132"></a>PA0132</td>
    14311702
    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
    14351708
    14361709      </tr>
     
    14401713        <td style="vertical-align: top;"><a name="PA0133"></a>PA0133</td>
    14411714
    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
    14461721
    14471722      </tr>
     
    14511726        <td style="vertical-align: top;"><a name="PA0134"></a>PA0134</td>
    14521727
    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
    14561733
    14571734      </tr>
     
    14611738        <td style="vertical-align: top;"><a name="PA0135"></a>PA0135</td>
    14621739
    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
    14661745
    14671746      </tr>
     
    14711750        <td style="vertical-align: top;"><a name="PA0136"></a>PA0136</td>
    14721751
    1473          <td>
    1474       <p>damp_level_1d = ...  must be &gt; 0.0 and &lt; ... (zu(nzt+1))</p>
    1475       </td>
     1752         <td style="vertical-align: top;">
     1753      damp_level_1d = ...  must be &gt; 0.0 and &lt; ... (zu(nzt+1))
     1754      </td><td style="vertical-align: top;"><br>
     1755      </td>
     1756
    14761757
    14771758      </tr>
     
    14811762        <td style="vertical-align: top;"><a name="PA0137"></a>PA0137</td>
    14821763
    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
    14861769
    14871770      </tr>
     
    14911774        <td style="vertical-align: top;"><a name="PA0138"></a>PA0138</td>
    14921775
    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
    14961781
    14971782      </tr>
     
    15011786        <td style="vertical-align: top;"><a name="PA0139"></a>PA0139</td>
    15021787
    1503          <td>
    1504       <p>termination_time_needed = ...  must be &gt; 30.0 on host ...</p>
    1505       </td>
     1788         <td style="vertical-align: top;">
     1789      termination_time_needed = ...  must be &gt; 30.0 on host ...
     1790      </td><td style="vertical-align: top;"><br>
     1791      </td>
     1792
    15061793
    15071794      </tr>
     
    15111798        <td style="vertical-align: top;"><a name="PA0140"></a>PA0140</td>
    15121799
    1513          <td>
    1514       <p>termination_time_needed = ... should be &gt;= 300.0
    1515              on host "..."</p>
    1516       </td>
     1800         <td style="vertical-align: top;">
     1801      termination_time_needed = ... should be &gt;= 300.0
     1802             on host "..."
     1803      </td><td style="vertical-align: top;"><br>
     1804      </td>
     1805
    15171806
    15181807      </tr>
     
    15221811        <td style="vertical-align: top;"><a name="PA0141"></a>PA0141</td>
    15231812
    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
    15281819
    15291820      </tr>
     
    15331824        <td style="vertical-align: top;"><a name="PA0142"></a>PA0142</td>
    15341825
    1535          <td>
    1536       <p>absolute temperature &lt; 0.0 at zu(...) = ...</p>
    1537       </td>
     1826         <td style="vertical-align: top;">
     1827      absolute temperature &lt; 0.0 at zu(...) = ...
     1828      </td><td style="vertical-align: top;"><br>
     1829      </td>
     1830
    15381831
    15391832      </tr>
     
    15431836        <td style="vertical-align: top;"><a name="PA0143"></a>PA0143</td>
    15441837
    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
    15491844
    15501845      </tr>
     
    15541849        <td style="vertical-align: top;"><a name="PA0144"></a>PA0144</td>
    15551850
    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
    15601857
    15611858      </tr>
     
    15651862        <td style="vertical-align: top;"><a name="PA0145"></a>PA0145</td>
    15661863
    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
    15701869
    15711870      </tr>
     
    15751874        <td style="vertical-align: top;"><a name="PA0146"></a>PA0146</td>
    15761875
    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
    15811882
    15821883      </tr>
     
    15861887        <td style="vertical-align: top;"><a name="PA0147"></a>PA0147</td>
    15871888
    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
    15921895
    15931896      </tr>
     
    15971900        <td style="vertical-align: top;"><a name="PA0148"></a>PA0148</td>
    15981901
    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
    16021907
    16031908      </tr>
     
    16071912        <td style="vertical-align: top;"><a name="PA0149"></a>PA0149</td>
    16081913
    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
    16131920
    16141921      </tr>
     
    16181925        <td style="vertical-align: top;"><a name="PA0150"></a>PA0150</td>
    16191926
    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
    16241933
    16251934      </tr>
     
    16291938        <td style="vertical-align: top;"><a name="PA0151"></a>PA0151</td>
    16301939
    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
    16341945
    16351946      </tr>
     
    16391950        <td style="vertical-align: top;"><a name="PA0152"></a>PA0152</td>
    16401951
    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,
    16431954             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
    16461959
    16471960      </tr>
     
    16511964        <td style="vertical-align: top;"><a name="PA0153"></a>PA0153</td>
    16521965
    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
    16571972
    16581973      </tr>
     
    16621977        <td style="vertical-align: top;"><a name="PA0154"></a>PA0154</td>
    16631978
    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
    16671984
    16681985      </tr>
     
    16721989        <td style="vertical-align: top;"><a name="PA0155"></a>PA0155</td>
    16731990
    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
    16781997
    16791998      </tr>
     
    16832002        <td style="vertical-align: top;"><a name="PA0156"></a>PA0156</td>
    16842003
    1685          <td>
    1686       <p>cyclic boundary conditions require
     2004         <td style="vertical-align: top;">
     2005      cyclic boundary conditions require
    16872006             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
    16902011
    16912012      </tr>
     
    16952016        <td style="vertical-align: top;"><a name="PA01357"></a>PA0137</td>
    16962017
    1697          <td>
    1698       <p>nonzero bulk velocity requires
     2018         <td style="vertical-align: top;">
     2019      nonzero bulk velocity requires
    16992020             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
    17022025
    17032026      </tr>
     
    17072030        <td style="vertical-align: top;"><a name="PA0158"></a>PA0158</td>
    17082031
    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
    17122037
    17132038      </tr>
     
    17172042        <td style="vertical-align: top;"><a name="PA0159"></a>PA0159</td>
    17182043
    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
    17222049
    17232050      </tr>
     
    17272054        <td style="vertical-align: top;"><a name="PA0160"></a>PA0160</td>
    17282055
    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
    17332062
    17342063      </tr>
     
    17382067        <td style="vertical-align: top;"><a name="PA00161"></a>PA0161</td>
    17392068
    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
    17442075
    17452076      </tr>
     
    17492080        <td style="vertical-align: top;"><a name="PA0162"></a>PA0162</td>
    17502081
    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
    17552088
    17562089      </tr>
     
    17602093        <td style="vertical-align: top;"><a name="PA0163"></a>PA0163</td>
    17612094
    1762          <td>
    1763       <p>run will be terminated because it is running out of
     2095         <td style="vertical-align: top;">
     2096      run will be terminated because it is running out of
    17642097                       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
    17672102
    17682103      </tr>
     
    17722107        <td style="vertical-align: top;"><a name="PA0164"></a>PA0164</td>
    17732108
    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
    17782115
    17792116      </tr>
     
    17832120        <td style="vertical-align: top;"><a name="PA0165"></a>PA0165</td>
    17842121
    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
    17882127
    17892128      </tr>
     
    17932132        <td style="vertical-align: top;"><a name="PA0166"></a>PA0166</td>
    17942133
    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
    17982139
    17992140      </tr>
     
    18032144        <td style="vertical-align: top;"><a name="PA0167"></a>PA0167</td>
    18042145
    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
    18082151
    18092152      </tr>
     
    18132156        <td style="vertical-align: top;"><a name="PA0168"></a>PA0168</td>
    18142157
    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
    18192164
    18202165      </tr>
     
    18242169        <td style="vertical-align: top;"><a name="PA0169"></a>PA0169</td>
    18252170
    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
    18302177
    18312178      </tr>
     
    18352182        <td style="vertical-align: top;"><a name="PA0170"></a>PA0170</td>
    18362183
    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
    18402189
    18412190      </tr>
     
    18452194        <td style="vertical-align: top;"><a name="PA0171"></a>PA0171</td>
    18462195
    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>
     2199switch 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> &gt; <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
    18502203
    18512204      </tr>
     
    18552208        <td style="vertical-align: top;"><a name="PA0172"></a>PA0172</td>
    18562209
    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
    18602215
    18612216      </tr>
     
    18652220        <td style="vertical-align: top;"><a name="PA0173"></a>PA0173</td>
    18662221
    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
    18702227
    18712228      </tr>
     
    18752232        <td style="vertical-align: top;"><a name="PA0174"></a>PA0174</td>
    18762233
    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
    18802239
    18812240      </tr>
     
    18852244        <td style="vertical-align: top;"><a name="PA0175"></a>PA0175</td>
    18862245
    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
    18902251
    18912252      </tr>
     
    18952256        <td style="vertical-align: top;"><a name="PA0176"></a>PA0176</td>
    18962257
    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
    19012264
    19022265      </tr>
     
    19062269        <td style="vertical-align: top;"><a name="PA0177"></a>PA0177</td>
    19072270
    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
    19122277
    19132278      </tr>
     
    19172282        <td style="vertical-align: top;"><a name="PA0178"></a>PA0178</td>
    19182283
    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
    19232290
    19242291      </tr>
     
    19282295        <td style="vertical-align: top;"><a name="PA0179"></a>PA0179</td>
    19292296
    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
    19332302
    19342303      </tr>
     
    19382307        <td style="vertical-align: top;"><a name="PA0180"></a>PA0180</td>
    19392308
    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
    19432314
    19442315      </tr>
     
    19482319        <td style="vertical-align: top;"><a name="PA0181"></a>PA0181</td>
    19492320
    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
    19532326
    19542327      </tr>
     
    19582331        <td style="vertical-align: top;"><a name="PA0182"></a>PA0182</td>
    19592332
    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
    19632338
    19642339      </tr>
     
    19682343        <td style="vertical-align: top;"><a name="PA0183"></a>PA0183</td>
    19692344
    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
    19742351
    19752352      </tr>
     
    19792356        <td style="vertical-align: top;"><a name="PA0184"></a>PA0184</td>
    19802357
    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
    19842363
    19852364      </tr>
     
    19892368        <td style="vertical-align: top;"><a name="PA0185"></a>PA0185</td>
    19902369
    1991          <td>
    1992       <p>data_output_profiles: normalizing cross ...
     2370         <td style="vertical-align: top;">
     2371      data_output_profiles: normalizing cross ...
    19932372             is not possible since one of the normalizing factors
    19942373             is zero!
    19952374             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
    19982379
    19992380      </tr>
     
    20032384        <td style="vertical-align: top;"><a name="PA0186"></a>PA0186</td>
    20042385
    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
    20082391
    20092392      </tr>
     
    20132396        <td style="vertical-align: top;"><a name="PA0187"></a>PA0187</td>
    20142397
    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
    20182403
    20192404      </tr>
     
    20232408        <td style="vertical-align: top;"><a name="PA0188"></a>PA0188</td>
    20242409
    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
    20282415
    20292416      </tr>
     
    20332420        <td style="vertical-align: top;"><a name="PA0189"></a>PA0189</td>
    20342421
    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
    20382427
    20392428      </tr>
     
    20432432        <td style="vertical-align: top;"><a name="PA0190"></a>PA0190</td>
    20442433
    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
    20482439
    20492440      </tr>
     
    20532444        <td style="vertical-align: top;"><a name="PA0191"></a>PA0191</td>
    20542445
    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
    20582451
    20592452      </tr>
     
    20632456        <td style="vertical-align: top;"><a name="PA0192"></a>PA0192</td>
    20642457
    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
    20692464
    20702465      </tr>
     
    20742469        <td style="vertical-align: top;"><a name="PA01793"></a>PA0193</td>
    20752470
    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
    20792476
    20802477      </tr>
     
    20842481        <td style="vertical-align: top;"><a name="PA0194"></a>PA0194</td>
    20852482
    2086          <td>
    2087       <p>number of time series quantities exceeds its maximum
     2483         <td style="vertical-align: top;">
     2484      number of time series quantities exceeds its maximum
    20882485             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
    20912490
    20922491      </tr>
     
    20962495        <td style="vertical-align: top;"><a name="PA0195"></a>PA0195</td>
    20972496
    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
    21012502
    21022503      </tr>
     
    21062507        <td style="vertical-align: top;"><a name="PA0196"></a>PA0196</td>
    21072508
    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
    21112514
    21122515      </tr>
     
    21162519        <td style="vertical-align: top;"><a name="PA0197"></a>PA0197</td>
    21172520
    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
    21212526
    21222527      </tr>
     
    21262531        <td style="vertical-align: top;"><a name="PA0198"></a>PA0198</td>
    21272532
    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
    21312538
    21322539      </tr>
     
    21362543        <td style="vertical-align: top;"><a name="PA0199"></a>PA0199</td>
    21372544
    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
    21422551
    21432552      </tr>
     
    21472556        <td style="vertical-align: top;"><a name="PA0200"></a>PA0200</td>
    21482557
    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
    21522563
    21532564      </tr>
     
    21572568        <td style="vertical-align: top;"><a name="PA0201"></a>PA0201</td>
    21582569
    2159          <td>
    2160       <p>dz=... &lt;= 0.0</p>
    2161       </td>
     2570         <td style="vertical-align: top;">
     2571      dz=... &lt;= 0.0
     2572      </td><td style="vertical-align: top;"><br>
     2573      </td>
     2574
    21622575
    21632576      </tr>
     
    21672580        <td style="vertical-align: top;"><a name="PA0202"></a>PA0202</td>
    21682581
    2169          <td>
    2170       <p>grid anisotropy exceeds threshold given by only local
     2582         <td style="vertical-align: top;">
     2583      grid anisotropy exceeds threshold given by only local
    21712584                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
    21742589
    21752590      </tr>
     
    21792594        <td style="vertical-align: top;"><a name="PA0203"></a>PA0203</td>
    21802595
    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
    21852602
    21862603      </tr>
     
    21902607        <td style="vertical-align: top;"><a name="PA0204"></a>PA0204</td>
    21912608
    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
    21952614
    21962615      </tr>
     
    22002619        <td style="vertical-align: top;"><a name="PA0205"></a>PA0205</td>
    22012620
    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
    22062627
    22072628      </tr>
     
    22112632        <td style="vertical-align: top;"><a name="PA0206"></a>PA0206</td>
    22122633
    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
    22172640
    22182641      </tr>
     
    22222645        <td style="vertical-align: top;"><a name="PA0207"></a>PA0207</td>
    22232646
    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
    22282653
    22292654      </tr>
     
    22332658        <td style="vertical-align: top;"><a name="PA0208"></a>PA0208</td>
    22342659
    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
    22382665
    22392666      </tr>
     
    22432670        <td style="vertical-align: top;"><a name="PA0209"></a>PA0209</td>
    22442671
    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
    22482677
    22492678      </tr>
     
    22532682        <td style="vertical-align: top;"><a name="PA0210"></a>PA0210</td>
    22542683
    2255          <td>
    2256       <p>nzb_local values are outside the model domain
     2684         <td style="vertical-align: top;">
     2685      nzb_local values are outside the model domain
    22572686                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
    22602691
    22612692      </tr>
     
    22652696        <td style="vertical-align: top;"><a name="PA0211"></a>PA0211</td>
    22662697
    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
    22712704
    22722705      </tr>
     
    22762709        <td style="vertical-align: top;"><a name="PA0212"></a>PA0212</td>
    22772710
    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
    22822717
    22832718      </tr>
     
    22872722        <td style="vertical-align: top;"><a name="PA0213"></a>PA0213</td>
    22882723
    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
    22932730
    22942731      </tr>
     
    22982735        <td style="vertical-align: top;"><a name="PA0214"></a>PA0214</td>
    22992736
    2300          <td>
    2301       <p>version mismatch concerning data from prior run
     2737         <td style="vertical-align: top;">
     2738      version mismatch concerning data from prior run
    23022739                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
    23052744
    23062745      </tr>
     
    23102749        <td style="vertical-align: top;"><a name="PA0215"></a>PA0215</td>
    23112750
    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
    23162757
    23172758      </tr>
     
    23212762        <td style="vertical-align: top;"><a name="PA0216"></a>PA0216</td>
    23222763
    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
    23272770
    23282771      </tr>
     
    23322775        <td style="vertical-align: top;"><a name="PA0217"></a>PA0217</td>
    23332776
    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
    23372782
    23382783      </tr>
     
    23422787        <td style="vertical-align: top;"><a name="PA0218"></a>PA0218</td>
    23432788
    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
    23472794
    23482795      </tr>
     
    23522799        <td style="vertical-align: top;"><a name="PA0219"></a>PA0219</td>
    23532800
    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
    23572806
    23582807      </tr>
     
    23622811        <td style="vertical-align: top;"><a name="PA0220"></a>PA0220</td>
    23632812
    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
    23672818
    23682819      </tr>
     
    23722823        <td style="vertical-align: top;"><a name="PA0221"></a>PA0221</td>
    23732824
    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
    23782831
    23792832      </tr>
     
    23832836        <td style="vertical-align: top;"><a name="PA0222"></a>PA0222</td>
    23842837
    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,
    23872840                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
    23902845
    23912846      </tr>
     
    23952850        <td style="vertical-align: top;"><a name="PA0223"></a>PA0223</td>
    23962851
    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
    24012858
    24022859      </tr>
     
    24062863        <td style="vertical-align: top;"><a name="PA0224"></a>PA0224</td>
    24072864
    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
    24112870
    24122871      </tr>
     
    24162875        <td style="vertical-align: top;"><a name="PA0225"></a>PA0225</td>
    24172876
    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
    24222883
    24232884      </tr>
     
    24272888        <td style="vertical-align: top;"><a name="PA0226"></a>PA0226</td>
    24282889
    2429          <td>
    2430       <p>x-direction: nx does not match the requirements given
     2890         <td style="vertical-align: top;">
     2891      x-direction: nx does not match the requirements given
    24312892                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
    24342897
    24352898      </tr>
     
    24392902        <td style="vertical-align: top;"><a name="PA0227"></a>PA0227</td>
    24402903
    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
    24452910
    24462911      </tr>
     
    24502915        <td style="vertical-align: top;"><a name="PA0228"></a>PA0228</td>
    24512916
    2452          <td>
    2453       <p>y-direction: ny does not match the requirements given
     2917         <td style="vertical-align: top;">
     2918      y-direction: ny does not match the requirements given
    24542919                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
    24572924
    24582925      </tr>
     
    24622929        <td style="vertical-align: top;"><a name="PA0229"></a>PA0229</td>
    24632930
    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
    24682937
    24692938      </tr>
     
    24732942        <td style="vertical-align: top;"><a name="PA0230"></a>PA0230</td>
    24742943
    2475          <td>
    2476       <p>transposition z --&gt; x:
    2477                 nz=... is not an integral divisior of pdims(1)= ...</p>
    2478       </td>
     2944         <td style="vertical-align: top;">
     2945      transposition z --&gt; x:
     2946                nz=... is not an integral divisior of pdims(1)= ...
     2947      </td><td style="vertical-align: top;"><br>
     2948      </td>
     2949
    24792950
    24802951      </tr>
     
    24842955        <td style="vertical-align: top;"><a name="PA031"></a>PA0231</td>
    24852956
    2486          <td>
    2487       <p>transposition x --&gt; y:
    2488                 nx+1=... is not an integral divisor of pdims(2)= ... </p>
    2489       </td>
     2957         <td style="vertical-align: top;">
     2958      transposition x --&gt; y:
     2959                nx+1=... is not an integral divisor of pdims(2)= ...
     2960      </td><td style="vertical-align: top;"><br>
     2961      </td>
     2962
    24902963
    24912964      </tr>
     
    24952968        <td style="vertical-align: top;"><a name="PA0232"></a>PA0232</td>
    24962969
    2497          <td>
    2498       <p>transposition y --&gt; z:
    2499                 ny+1=... is not an integral divisor of pdims(1)=...</p>
    2500       </td>
     2970         <td style="vertical-align: top;">
     2971      transposition y --&gt; z:
     2972                ny+1=... is not an integral divisor of pdims(1)=...
     2973      </td><td style="vertical-align: top;"><br>
     2974      </td>
     2975
    25012976
    25022977      </tr>
     
    25062981        <td style="vertical-align: top;"><a name="PA0233"></a>PA0233</td>
    25072982
    2508          <td>
    2509       <p>transposition x --&gt; y:
    2510                 ny+1=... is not an integral divisor of pdims(1)=...</p>
    2511       </td>
     2983         <td style="vertical-align: top;">
     2984      transposition x --&gt; y:
     2985                ny+1=... is not an integral divisor of pdims(1)=...
     2986      </td><td style="vertical-align: top;"><br>
     2987      </td>
     2988
    25122989
    25132990      </tr>
     
    25172994        <td style="vertical-align: top;"><a name="PA0234"></a>PA0234</td>
    25182995
    2519          <td>
    2520       <p>direct transposition z --&gt; 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 --&gt; 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
    25233002
    25243003      </tr>
     
    25283007        <td style="vertical-align: top;"><a name="PA0235"></a>PA0235</td>
    25293008
    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
    25343015
    25353016      </tr>
     
    25393020        <td style="vertical-align: top;"><a name="PA0236"></a>PA0236</td>
    25403021
    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
    25453028
    25463029      </tr>
     
    25503033        <td style="vertical-align: top;"><a name="PA0237"></a>PA0237</td>
    25513034
    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
    25553040
    25563041      </tr>
     
    25603045        <td style="vertical-align: top;"><a name="PA0238"></a>PA0238</td>
    25613046
    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
    25653052
    25663053      </tr>
     
    25703057        <td style="vertical-align: top;"><a name="PA0239"></a>PA0239</td>
    25713058
    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.
    25743061                Its default value is only valid for
    25753062                "topography" = ''single_building'',
    25763063                ''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
    25793068
    25803069      </tr>
     
    25843073        <td style="vertical-align: top;"><a name="PA0240"></a>PA0240</td>
    25853074
    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
    25903081
    25913082      </tr>
     
    25953086        <td style="vertical-align: top;"><a name="PA0241"></a>PA0241</td>
    25963087
    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
    26013094
    26023095      </tr>
     
    26063099        <td style="vertical-align: top;"><a name="PA0242"></a>PA0242</td>
    26073100
    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
    26113106
    26123107      </tr>
     
    26163111        <td style="vertical-align: top;"><a name="PA0243"></a>PA0243</td>
    26173112
    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
    26223119
    26233120      </tr>
     
    26273124        <td style="vertical-align: top;"><a name="PA0244"></a>PA0244</td>
    26283125
    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
    26323131
    26333132      </tr>
     
    26373136        <td style="vertical-align: top;"><a name="PA0245"></a>PA0245</td>
    26383137
    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,
    26413140                 but this file cannot be extended due to variable
    26423141                 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
    26453146
    26463147      </tr>
     
    26503151        <td style="vertical-align: top;"><a name="PA0246"></a>PA0246</td>
    26513152
    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,
    26543155                but this file cannot be extended due to mismatch in
    26553156                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
    26583161
    26593162      </tr>
     
    26633166        <td style="vertical-align: top;"><a name="PA0247"></a>PA0247</td>
    26643167
    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,
    26673170                but this file cannot be extended because the current
    26683171                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
    26713176
    26723177      </tr>
     
    26763181        <td style="vertical-align: top;"><a name="PA0248"></a>PA0248</td>
    26773182
    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
    26823189
    26833190      </tr>
     
    26873194        <td style="vertical-align: top;"><a name="PA0249"></a>PA0249</td>
    26883195
    2689          <td>
    2690       <p>NetCDF file for cross-sections ... from previuos run
     3196         <td style="vertical-align: top;">
     3197      NetCDF file for cross-sections ... from previuos run
    26913198                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
    26943203
    26953204      </tr>
     
    26993208        <td style="vertical-align: top;"><a name="PA0250"></a>PA0250</td>
    27003209
    2701          <td>
    2702       <p>NetCDF file for cross-sections ... from previuos run
     3210         <td style="vertical-align: top;">
     3211      NetCDF file for cross-sections ... from previuos run
    27033212                found, but this file cannot be extended due to
    27043213                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
    27073218
    27083219      </tr>
     
    27123223        <td style="vertical-align: top;"><a name="PA0251"></a>PA0251</td>
    27133224
    2714          <td>
    2715       <p>NetCDF file for cross-sections ... from previuos run
     3225         <td style="vertical-align: top;">
     3226      NetCDF file for cross-sections ... from previuos run
    27163227                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
    27193232
    27203233      </tr>
     
    27243237        <td style="vertical-align: top;"><a name="PA0252"></a>PA0252</td>
    27253238
    2726          <td>
    2727       <p>NetCDF file for cross sections ... from previuos run
     3239         <td style="vertical-align: top;">
     3240      NetCDF file for cross sections ... from previuos run
    27283241                found, but this file cannot be extended because the
    27293242                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
    27323247
    27333248      </tr>
     
    27373252        <td style="vertical-align: top;"><a name="PA0253"></a>PA0253</td>
    27383253
    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
    27433260
    27443261      </tr>
     
    27483265        <td style="vertical-align: top;"><a name="PA0254"></a>PA0254</td>
    27493266
    2750          <td>
    2751       <p>NetCDF file for vertical profiles from previuos run
     3267         <td style="vertical-align: top;">
     3268      NetCDF file for vertical profiles from previuos run
    27523269                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
    27553274
    27563275      </tr>
     
    27603279        <td style="vertical-align: top;"><a name="PA0255"></a>PA0255</td>
    27613280
    2762          <td>
    2763       <p>NetCDF file for vertical profiles from previuos run
     3281         <td style="vertical-align: top;">
     3282      NetCDF file for vertical profiles from previuos run
    27643283                found, but this file cannot be extended because the
    27653284                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
    27683289
    27693290      </tr>
     
    27733294        <td style="vertical-align: top;"><a name="PA0256"></a>PA0256</td>
    27743295
    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
    27793302
    27803303      </tr>
     
    27843307        <td style="vertical-align: top;"><a name="PA0257"></a>PA0257</td>
    27853308
    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
    27903315
    27913316      </tr>
     
    27953320        <td style="vertical-align: top;"><a name="PA0258"></a>PA0258</td>
    27963321
    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,
    27993324                but this file cannot be extended because the current
    28003325                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
    28033330
    28043331      </tr>
     
    28083335        <td style="vertical-align: top;"><a name="PA0259"></a>PA0259</td>
    28093336
    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
    28143343
    28153344      </tr>
     
    28193348        <td style="vertical-align: top;"><a name="PA0260"></a>PA0260</td>
    28203349
    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,
    28233352                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
    28263357
    28273358      </tr>
     
    28313362        <td style="vertical-align: top;"><a name="PA0261"></a>PA0261</td>
    28323363
    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,
    28353366                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
    28383371
    28393372      </tr>
     
    28433376        <td style="vertical-align: top;"><a name="PA0262"></a>PA0262</td>
    28443377
    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,
    28473380                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
    28503385
    28513386      </tr>
     
    28553390        <td style="vertical-align: top;"><a name="PA0263"></a>PA0263</td>
    28563391
    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,
    28593394                but this file cannot be extended because the current
    28603395                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
    28633400
    28643401      </tr>
     
    28683405        <td style="vertical-align: top;"><a name="PA0264"></a>PA0264</td>
    28693406
    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
    28743413
    28753414      </tr>
     
    28793418        <td style="vertical-align: top;"><a name="PA0265"></a>PA0265</td>
    28803419
    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,
    28833422                but this file cannot be extended because the current
    28843423                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
    28873428
    28883429      </tr>
     
    28923433        <td style="vertical-align: top;"><a name="PA0266"></a>PA0266</td>
    28933434
    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
    28983441
    28993442      </tr>
     
    29033446        <td style="vertical-align: top;"><a name="PA0267"></a>PA0267</td>
    29043447
    2905          <td>
    2906       <p>NetCDF file for particle time series from previuos run
     3448         <td style="vertical-align: top;">
     3449      NetCDF file for particle time series from previuos run
    29073450                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
    29103455
    29113456      </tr>
     
    29153460        <td style="vertical-align: top;"><a name="PA0268"></a>PA0268</td>
    29163461
    2917          <td>
    2918       <p>NetCDF file for particle time series from previuos run
     3462         <td style="vertical-align: top;">
     3463      NetCDF file for particle time series from previuos run
    29193464                found, but this file cannot be extended because the
    29203465                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
    29233470
    29243471      </tr>
     
    29283475        <td style="vertical-align: top;"><a name="PA0269"></a>PA0269</td>
    29293476
    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
    29343483
    29353484      </tr>
     
    29393488        <td style="vertical-align: top;"><a name="PA0270"></a>PA0270</td>
    29403489
    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
    29443495
    29453496      </tr>
     
    29493500        <td style="vertical-align: top;"><a name="PA0271"></a>PA0271</td>
    29503501
    2951          <td>
    2952       <p>errors in \$inipar &#8744; no \$inipar-namelist found
    2953                 (CRAY-machines only)</p>
    2954       </td>
     3502         <td style="vertical-align: top;">
     3503      errors in \$inipar &#8744; no \$inipar-namelist found
     3504                (CRAY-machines only)
     3505      </td><td style="vertical-align: top;"><br>
     3506      </td>
     3507
    29553508
    29563509      </tr>
     
    29603513        <td style="vertical-align: top;"><a name="PA0272"></a>PA0272</td>
    29613514
    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
    29653520
    29663521      </tr>
     
    29703525        <td style="vertical-align: top;"><a name="PA0273"></a>PA0273</td>
    29713526
    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
    29753532
    29763533      </tr>
     
    29803537        <td style="vertical-align: top;"><a name="PA0274"></a>PA0274</td>
    29813538
    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
    29853544
    29863545      </tr>
     
    29903549        <td style="vertical-align: top;"><a name="PA0275"></a>PA0275</td>
    29913550
    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
    29953556
    29963557      </tr>
     
    30003561        <td style="vertical-align: top;"><a name="PA0276"></a>PA0276</td>
    30013562
    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
    30063569
    30073570      </tr>
     
    30113574        <td style="vertical-align: top;"><a name="PA0277"></a>PA0277</td>
    30123575
    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
    30173582
    30183583      </tr>
     
    30223587        <td style="vertical-align: top;"><a name="PA0278"></a>PA0278</td>
    30233588
    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
    30283595
    30293596      </tr>
     
    30333600        <td style="vertical-align: top;"><a name="PA0279"></a>PA0279</td>
    30343601
    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
    30383607
    30393608      </tr>
     
    30433612        <td style="vertical-align: top;"><a name="PA0280"></a>PA0280</td>
    30443613
    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
    30483619
    30493620      </tr>
     
    30533624        <td style="vertical-align: top;"><a name="PA0281"></a>PA0281</td>
    30543625
    3055          <td>
    3056       <p>running optimized multinode version
     3626         <td style="vertical-align: top;">
     3627      running optimized multinode version
    30573628                switch_per_lpar        = ...
    30583629                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
    30613634
    30623635      </tr>
     
    30663639        <td style="vertical-align: top;"><a name="PA0282"></a>PA0282</td>
    30673640
    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
    30713646
    30723647      </tr>
     
    30763651        <td style="vertical-align: top;"><a name="PA0283"></a>PA0283</td>
    30773652
    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
    30813658
    30823659      </tr>
     
    30863663        <td style="vertical-align: top;"><a name="PA0284"></a>PA0284</td>
    30873664
    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
    30923671
    30933672      </tr>
     
    30973676        <td style="vertical-align: top;"><a name="PA0285"></a>PA0285</td>
    30983677
    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
    31033684
    31043685      </tr>
     
    31083689        <td style="vertical-align: top;"><a name="PA0286"></a>PA0286</td>
    31093690
    3110          <td>
    3111       <p>version mismatch concerning data from prior run
     3691         <td style="vertical-align: top;">
     3692      version mismatch concerning data from prior run
    31123693                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
    31153698
    31163699      </tr>
     
    31203703        <td style="vertical-align: top;"><a name="PA0287"></a>PA0287</td>
    31213704
    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 "..."
    31243707                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
    31273712
    31283713      </tr>
     
    31323717        <td style="vertical-align: top;"><a name="PA0288"></a>PA0288</td>
    31333718
    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 "..."
    31363721                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
    31393726
    31403727      </tr>
     
    31443731        <td style="vertical-align: top;"><a name="PA0289"></a>PA0289</td>
    31453732
    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 "..."
    31483735                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
    31513740
    31523741      </tr>
     
    31563745        <td style="vertical-align: top;"><a name="PA0290"></a>PA0290</td>
    31573746
    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 "..."
    31603749                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
    31633754
    31643755      </tr>
     
    31683759        <td style="vertical-align: top;"><a name="PA0291"></a>PA0291</td>
    31693760
    3170          <td>
    3171       <p>mismatch between actual data and data
     3761         <td style="vertical-align: top;">
     3762      mismatch between actual data and data
    31723763                from prior run on PE ...
    31733764                nzb on file = ...
    3174                 nzb         = ...</p>
    3175       </td>
     3765                nzb         = ...
     3766      </td><td style="vertical-align: top;"><br>
     3767      </td>
     3768
    31763769
    31773770      </tr>
     
    31813774        <td style="vertical-align: top;"><a name="PA0292"></a>PA0292</td>
    31823775
    3183          <td>
    3184       <p>mismatch between actual data and data
     3776         <td style="vertical-align: top;">
     3777      mismatch between actual data and data
    31853778                from prior run on PE ...
    31863779                nzt on file = ...
    3187                 nzt         = ...</p>
    3188       </td>
     3780                nzt         = ...
     3781      </td><td style="vertical-align: top;"><br>
     3782      </td>
     3783
    31893784
    31903785      </tr>
     
    31943789        <td style="vertical-align: top;"><a name="PA0293"></a>PA0293</td>
    31953790
    3196          <td>
    3197       <p>read_3d_binary: spectrum_x
     3791         <td style="vertical-align: top;">
     3792      read_3d_binary: spectrum_x
    31983793                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
    32013798
    32023799      </tr>
     
    32063803        <td style="vertical-align: top;"><a name="PA0294"></a>PA0294</td>
    32073804
    3208          <td>
    3209       <p>read_3d_binary: spectrum_y
     3805         <td style="vertical-align: top;">
     3806      read_3d_binary: spectrum_y
    32103807                on restart file ignored because total numbers of
    32113808                grid points (ny) do not match
    3212       </p>
    3213       </td>
     3809     
     3810      </td><td style="vertical-align: top;"><br>
     3811      </td>
     3812
    32143813
    32153814      </tr>
     
    32193818        <td style="vertical-align: top;"><a name="PA0295"></a>PA0295</td>
    32203819
    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
    32253826
    32263827      </tr>
     
    32303831        <td style="vertical-align: top;"><a name="PA0296"></a>PA0296</td>
    32313832
    3232          <td>
    3233       <p>version mismatch concerning control variables
     3833         <td style="vertical-align: top;">
     3834      version mismatch concerning control variables
    32343835                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
    32373840
    32383841      </tr>
     
    32423845        <td style="vertical-align: top;"><a name="PA0297"></a>PA0297</td>
    32433846
    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
    32473852
    32483853      </tr>
     
    32523857        <td style="vertical-align: top;"><a name="PA0298"></a>PA0298</td>
    32533858
    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
    32583865
    32593866      </tr>
     
    32633870        <td style="vertical-align: top;"><a name="PA0299"></a>PA0299</td>
    32643871
    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
    32683877
    32693878      </tr>
     
    32733882        <td style="vertical-align: top;"><a name="PA0300"></a>PA0300</td>
    32743883
    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
    32783889
    32793890      </tr>
     
    32833894        <td style="vertical-align: top;"><a name="PA0301"></a>PA0301</td>
    32843895
    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
    32893902
    32903903      </tr>
     
    32943907        <td style="vertical-align: top;"><a name="PA0302"></a>PA0302</td>
    32953908
    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
    33003915
    33013916      </tr>
     
    33053920        <td style="vertical-align: top;"><a name="PA0303"></a>PA0303</td>
    33063921
    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
    33103927
    33113928      </tr>
     
    33153932        <td style="vertical-align: top;"><a name="PA0304"></a>PA0304</td>
    33163933
    3317          <td>
    3318       <p>mismatch concerning number of gridpoints along z
     3934         <td style="vertical-align: top;">
     3935      mismatch concerning number of gridpoints along z
    33193936                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
    33223941
    33233942      </tr>
     
    33273946        <td style="vertical-align: top;"><a name="PA0305"></a>PA0305</td>
    33283947
    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
    33323953
    33333954      </tr>
     
    33373958        <td style="vertical-align: top;"><a name="PA0306"></a>PA0306</td>
    33383959
    3339          <td>
    3340       <p>number of user profiles on restart data file differs
     3960         <td style="vertical-align: top;">
     3961      number of user profiles on restart data file differs
    33413962                from the current run
    33423963                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
    33453968
    33463969      </tr>
     
    33503973        <td style="vertical-align: top;"><a name="PA0307"></a>PA0307</td>
    33513974
    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
    33553980
    33563981      </tr>
     
    33603985        <td style="vertical-align: top;"><a name="PA0308"></a>PA0308</td>
    33613986
    3362          <td>
    3363       <p>statistic regions on restart data file differ
     3987         <td style="vertical-align: top;">
     3988      statistic regions on restart data file differ
    33643989                from the current run
    33653990                statistic regions on file    = "..."
    33663991                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
    33693996
    33703997      </tr>
     
    33744001        <td style="vertical-align: top;"><a name="PA0309"></a>PA0309</td>
    33754002
    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
    33804009
    33814010      </tr>
     
    33854014        <td style="vertical-align: top;"><a name="PA0310"></a>PA0310</td>
    33864015
    3387          <td>
    3388       <p>remote model "..." terminated with
     4016         <td style="vertical-align: top;">
     4017      remote model "..." terminated with
    33894018                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
    33924023
    33934024      </tr>
     
    33974028        <td style="vertical-align: top;"><a name="PA0311"></a>PA0311</td>
    33984029
    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
    34034036
    34044037      </tr>
     
    34084041        <td style="vertical-align: top;"><a name="PA0312"></a>PA0312</td>
    34094042
    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>
    34124045
    34134046                 dt      = ... s  Simulation is terminated.<br>
     
    34274060                 v_max   = ... m/s   k=... j=...  i=...<br>
    34284061           
    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
    34314066
    34324067      </tr>
     
    34364071        <td style="vertical-align: top;"><a name="PA0313"></a>PA0313</td>
    34374072
    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
    34414078
    34424079      </tr>
     
    34464083        <td style="vertical-align: top;"><a name="PA0314"></a>PA0314</td>
    34474084
    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
    34514090
    34524091      </tr>
     
    34564095        <td style="vertical-align: top;"><a name="PA0315"></a>PA0315</td>
    34574096
    3458          <td>
    3459       <p>color_interval(2) &lt;= color_interval(1)</p>
    3460       </td>
     4097         <td style="vertical-align: top;">
     4098      color_interval(2) &lt;= color_interval(1)
     4099      </td><td style="vertical-align: top;"><br>
     4100      </td>
     4101
    34614102
    34624103      </tr>
     
    34664107        <td style="vertical-align: top;"><a name="PA0316"></a>PA0316</td>
    34674108
    3468          <td>
    3469       <p>dvrpsize_interval(2) &lt;= dvrpsize_interval(1)</p>
    3470       </td>
     4109         <td style="vertical-align: top;">
     4110      dvrpsize_interval(2) &lt;= dvrpsize_interval(1)
     4111      </td><td style="vertical-align: top;"><br>
     4112      </td>
     4113
    34714114
    34724115      </tr>
     
    34764119        <td style="vertical-align: top;"><a name="PA0317"></a>PA0317</td>
    34774120
    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
    34824127
    34834128      </tr>
     
    34874132        <td style="vertical-align: top;"><a name="PA0318"></a>PA0318</td>
    34884133
    3489          <td>
    3490       <p>inflow_damping_height must be explicitly specified
     4134         <td style="vertical-align: top;">
     4135      inflow_damping_height must be explicitly specified
    34914136                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
    34944141
    34954142      </tr>
     
    34994146        <td style="vertical-align: top;"><a name="PA0319"></a>PA0319</td>
    35004147
    3501          <td>
    3502       <p>section_xy must be &lt;= nz + 1 = ...</p>
    3503       </td>
     4148         <td style="vertical-align: top;">
     4149      section_xy must be &lt;= nz + 1 = ...
     4150      </td><td style="vertical-align: top;"><br>
     4151      </td>
     4152
    35044153
    35054154      </tr>
     
    35094158        <td style="vertical-align: top;"><a name="PA0320"></a>PA0320</td>
    35104159
    3511          <td>
    3512       <p>section_xz must be &lt;= ny + 1 = ...</p>
    3513       </td>
     4160         <td style="vertical-align: top;">
     4161      section_xz must be &lt;= ny + 1 = ...
     4162      </td><td style="vertical-align: top;"><br>
     4163      </td>
     4164
    35144165
    35154166      </tr>
     
    35194170        <td style="vertical-align: top;"><a name="PA0321"></a>PA0321</td>
    35204171
    3521          <td>
    3522       <p>section_yz must be &lt;= 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 &lt;= 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
    35304185    </tr>
    35314186    <tr>
     
    35334188      </td>
    35344189      <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
    35364193    </tr>
    35374194    <tr>
     
    35404197      <td style="vertical-align: top;">Applying large scale vertical motion is not
    35414198                          allowed for ocean runs<br>
    3542       </td>
     4199      </td><td style="vertical-align: top;"><br>
     4200      </td>
     4201
    35434202    </tr>
    35444203<tr>
     
    35464205        <td style="vertical-align: top;"><a name="UI0001"></a>UI0001</td>
    35474206
    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
    35514212
    35524213      </tr>
     
    35564217        <td style="vertical-align: top;"><a name="UI0002"></a>UI0002</td>
    35574218
    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
    35624225
    35634226      </tr>
     
    35674230        <td style="vertical-align: top;"><a name="UI0003"></a>UI0003</td>
    35684231
    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
    35724237
    35734238      </tr>
     
    35774242        <td style="vertical-align: top;"><a name="UI0004"></a>UI0004</td>
    35784243
    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
    35824249
    35834250      </tr>
     
    35874254        <td style="vertical-align: top;"><a name="UI0005"></a>UI0005</td>
    35884255
    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
    35924261
    35934262      </tr>
     
    35974266        <td style="vertical-align: top;"><a name="UI0006"></a>UI0006</td>
    35984267
    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
    36024273
    36034274      </tr>
     
    36074278        <td style="vertical-align: top;"><a name="UI0007"></a>UI0007</td>
    36084279
    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
    36124285
    36134286      </tr>
     
    36174290        <td style="vertical-align: top;"><a name="UI0008"></a>UI0008</td>
    36184291
    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
    36224297
    36234298      </tr>
     
    36274302        <td style="vertical-align: top;"><a name="UI0009"></a>UI0009</td>
    36284303
    3629          <td>
    3630       <p>the number of user-defined profiles given in
     4304         <td style="vertical-align: top;">
     4305      the number of user-defined profiles given in
    36314306                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
    36344311
    36354312      </tr>
     
    36394316        <td style="vertical-align: top;"><a name="UI0010"></a>UI0010</td>
    36404317
    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
    36444323
    36454324      </tr>
     
    36494328        <td style="vertical-align: top;"><a name="UI0011"></a>UI0011</td>
    36504329
    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
    36544335
    36554336      </tr>
     
    36594340        <td style="vertical-align: top;"><a name="UI0012"></a>UI0012</td>
    36604341
    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
    36654348
    36664349      </tr>
     
    36704353        <td style="vertical-align: top;"><a name="NC****"></a>NC****</td>
    36714354
    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
    36754360
    36764361      </tr>
     
    36844369     
    36854370<p style="line-height: 100%;"><i>Last
    3686       change:&nbsp;</i> $Id$ </p>
     4371      change:&nbsp;</i> $Id$
    36874372
    36884373 
    3689 </body></html>
     4374</p></body></html>
  • palm/trunk/DOC/app/chapter_4.2.html

    r354 r493  
    11<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    2 <html>
    3 <head>
     2<html><head>
     3
     4
    45
    56
     
    1112 
    1213 
    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>
    2715
    2816
     
    17331721     
    17341722      <p>Umlauts
    1735 are possible (write &ldquo; in front of, similar to TeX), as
     1723are possible (write &#8220; in front of, similar to TeX), as
    17361724well as super- and subscripts (use "&gt;" or "&lt;" in front of
    17371725each
     
    20071995
    20081996
    2009             <td></td>
     1997            <td><br>
     1998</td>
    20101999
    20112000
     
    20712060
    20722061
    2073             <td style="vertical-align: top;"></td>
     2062            <td style="vertical-align: top;"><br>
     2063</td>
    20742064
    20752065
     
    22372227
    22382228
    2239             <td style="vertical-align: top;"></td>
     2229            <td style="vertical-align: top;"><br>
     2230</td>
    22402231
    22412232
     
    23912382
    23922383
    2393             <td style="vertical-align: top;"></td>
     2384            <td style="vertical-align: top;"><br>
     2385</td>
    23942386
    23952387
     
    26102602
    26112603
    2612             <td style="vertical-align: top;"></td>
     2604            <td style="vertical-align: top;"><br>
     2605</td>
    26132606
    26142607
     
    26732666
    26742667
    2675             <td style="vertical-align: top;"></td>
     2668            <td style="vertical-align: top;"><br>
     2669</td>
    26762670
    26772671
     
    27352729
    27362730
    2737             <td style="vertical-align: top;"></td>
     2731            <td style="vertical-align: top;"><br>
     2732</td>
    27382733
    27392734
     
    27652760
    27662761
    2767             <td></td>
     2762            <td><br>
     2763</td>
    27682764
    27692765
     
    31093105the file
    31103106PLOT3D_FLD (by suitable OUTPUT command in the <span style="font-weight: bold;">mrun</span>
    3111 configuration file: &ldquo;<span style="font-family: monospace;">cat
    3112 PLOT3D_FLD_COOR &gt;&gt; PLOT3D_FLD</span>&rdquo;)
     3107configuration file: &#8220;<span style="font-family: monospace;">cat
     3108PLOT3D_FLD_COOR &gt;&gt; PLOT3D_FLD</span>&#8221;)
    31133109after PALM has
    31143110finished.&nbsp;To reduce the amount of data, output to this file
     
    31473143respective files with suffix _GLOBAL (by
    31483144suitable OUTPUT commands in the <span style="font-weight: bold;">mrun</span>
    3149 configuration file, e.g.: &ldquo;<span style="font-family: monospace;">cat
    3150 PLOT2D_XY_LOCAL &gt;&gt; PLOT2D_XY_GLOBAL</span>&rdquo;)
     3145configuration file, e.g.: &#8220;<span style="font-family: monospace;">cat
     3146PLOT2D_XY_LOCAL &gt;&gt; PLOT2D_XY_GLOBAL</span>&#8221;)
    31513147after PALM has
    31523148finished. Cross sections can be directly plotted with <span style="font-weight: bold;">iso2d</span> using the
     
    32283224default, all data (profiles, time
    32293225series, 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>).
     3226in NetCDF 64bit-offset format (see chapter <a href="chapter_4.5.1.html">4.5.1</a>).
    32313227Exception: 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>,
    32323228      <a href="chapter_3.4.html#PARTICLE_RESTART_DATA_OUT">PARTICLE_RESTART_DATA_OUT</a>)
     
    32423238
    32433239The
    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>
     3240numerical 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>
    32583246
    32593247
     
    84288416
    84298417 <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>
    84408419      </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&nbsp;<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>
    84758425      <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 
     8426This variable defines the format of the NetCDF files. Following values are allowed:<br>
    84888427      <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>
    85008456      <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>
     8458Setting <span style="font-weight: bold;">netcdf_data_format </span>&gt; <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>
     8460Files with NetCDF4 format cannot be read with NetCDF3 libraries.<br>
    85178461      </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 3d
    8548 volume data will have 64 bit offset format if&nbsp;<span style="font-weight: bold;">netcdf_64bit_3d</span>
    8549 = .TRUE..<br>
    8550 
    8551       <br>
    8552 
    8553 
    8554 
    8555 
    8556 By
    8557 default, the maximum file size of the NetCDF files opened by PALM is 2
    8558 GByte. Using <span style="font-weight: bold;">netcdf_64bit_3d</span> = .TRUE. allows file sizes larger than 2
    8559 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 Some
    8579 (PD or commercial) software may not support the 64 bit offset format.</td>
    8580 
    8581 
    8582 
    8583 
    85848462    </tr>
     8463
     8464
     8465
     8466
     8467
     8468   
    85858469
    85868470
     
    87418625      <td style="vertical-align: top;">I</td>
    87428626
    8743       <td style="vertical-align: top;"></td>
     8627      <td style="vertical-align: top;"><br>
     8628</td>
    87448629
    87458630      <td style="vertical-align: top;">
     
    88378722      <td style="vertical-align: top;">I</td>
    88388723
    8839       <td style="vertical-align: top;"></td>
     8724      <td style="vertical-align: top;"><br>
     8725</td>
    88408726
    88418727      <td style="vertical-align: top;">
     
    1193811824user-interface (subroutine</span></font> <span style="font-family: monospace;">user_init_particles</span>)<span lang="en-GB"><font face="Thorndale, serif">.
    1193911825Particles can pull a
    11940 &ldquo;tail&rdquo; behind themselves to improve their
     11826&#8220;tail&#8221; behind themselves to improve their
    1194111827visualization.
    1194211828This is steered via the parameter&nbsp;<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>
     
    1199611882
    1199711883
    11998       <td style="vertical-align: top;"><i>&acute;reflect&acute;</i></td>
     11884      <td style="vertical-align: top;"><i>ŽreflectŽ</i></td>
    1199911885
    1200011886
     
    1202111907default, particles are reflected at the bottom boundary.
    1202211908Alternatively, a particle absorption can set by <b>bc_par_b</b>
    12023 = <i>&acute;absorb&acute;</i>.</p>
     11909= <i>ŽabsorbŽ</i>.</p>
    1202411910
    1202511911
     
    1206411950
    1206511951
    12066       <td style="vertical-align: top;"><i>&acute;cyclic&acute;</i></td>
     11952      <td style="vertical-align: top;"><i>ŽcyclicŽ</i></td>
    1206711953
    1206811954
     
    1209011976are used along x.
    1209111977Alternatively, reflection (<b>bc_par_lr</b>
    12092 = <i>&acute;reflect&acute;</i>) or absorption (<b>bc_par_lr</b>
    12093 = <i>&acute;absorb&acute;</i>)
     11978= <i>ŽreflectŽ</i>) or absorption (<b>bc_par_lr</b>
     11979= <i>ŽabsorbŽ</i>)
    1209411980can be set. <br>
    1209511981
     
    1215212038
    1215312039
    12154       <td style="vertical-align: top;"><i>&acute;cyclic&acute;</i></td>
     12040      <td style="vertical-align: top;"><i>ŽcyclicŽ</i></td>
    1215512041
    1215612042
     
    1217812064are used along y.
    1217912065Alternatively, reflection (<b>bc_par_ns</b>
    12180 = <i>&acute;reflect&acute;</i>) or absorption (<b>bc_par_ns</b>
    12181 = <i>&acute;absorb&acute;</i>)
     12066= <i>ŽreflectŽ</i>) or absorption (<b>bc_par_ns</b>
     12067= <i>ŽabsorbŽ</i>)
    1218212068can be set.<br>
    1218312069
     
    1223012116
    1223112117
    12232       <td style="vertical-align: top;"><i>&acute;absorb&acute;</i></td>
     12118      <td style="vertical-align: top;"><i>ŽabsorbŽ</i></td>
    1223312119
    1223412120
     
    1225512141particles are absorbed at the top boundary.
    1225612142Alternatively, a reflection condition can be set by <b>bc_par_t</b>
    12257 = <i>&acute;reflect&acute;</i>.</p>
     12143= <i>ŽreflectŽ</i>.</p>
    1225812144
    1225912145
     
    1432414210
    1432514211 <td style="vertical-align: top;">Rear
    14326 (&ldquo;north&rdquo;) edge of a
     14212(&#8220;north&#8221;) edge of a
    1432714213particle source (in m). </td>
    1432814214
     
    1442414310
    1442514311 <td style="vertical-align: top;">Front
    14426 (&ldquo;south&rdquo;) edge of a
     14312(&#8220;south&#8221;) edge of a
    1442714313particle source (in m). </td>
    1442814314
     
    1461414500     
    1461514501     
    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>
    1461714503particles is
    1461814504varied randomly within certain limits.&nbsp; </p>
     
    1629016176(cross sections), and <span style="font-style: italic;">'particles'</span>.
    1629116177Within the strings the hash characters ("##") have to be replaced by two
    16292 digits 01&le;##&le;99. Up to 10 objects
     16178digits 01&#8804;##&#8804;99. Up to 10 objects
    1629316179can be assigned at the same time, e.g.:&nbsp; </p>
    1629416180
     
    1735317239subsequent columns. </font>The order
    1735417240of 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>,&#8230;
    1735617242means that the file starts with the spectra of the u-component,
    1735717243followed by the v-component spectra, etc.). Additional to the files
     
    1774817634
    1774917635
    17750 </body>
    17751 </html>
     17636
     17637</body></html>
  • palm/trunk/DOC/app/chapter_4.5.1.html

    r97 r493  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    22<html><head>
     3
    34<meta content="text/html; charset=windows-1252" http-equiv="CONTENT-TYPE"><title>PALM chapter 4.5.1</title>
    45<meta content="StarOffice 7 (Win32)" name="GENERATOR">
     
    78@page { size: 21cm 29.7cm }
    89-->
    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
    1111NetCDF data output&nbsp;<span style="color: rgb(255, 0, 0);"></span></font></h4>
    1212<p style="line-height: 100%;">The standard data output of
    1313PALM 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 an
    15 interface to a library of data access functions<br>for
     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) in 64-bit offset format. NetCDF is an
     15interface to a library of data access functions for
    1616storing and retrieving data in the form of arrays. NetCDF is an
    1717abstraction that supports a view of data as a collection of
     
    3636on <a href="http://www.muk.uni-hannover.de/%7Eraasch/PALM_group/manual/netcdf/netcdf-3_f90_tutorial.pdf">our
    3737web 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>
     38general output format of PALM data is determined by the runtime-parameter <a href="chapter_4.2.html#data_output_format">data_output_format</a>
    3939(<span style="font-weight: bold;">data_output_format</span>
    4040= <span style="font-style: italic;">'netcdf'</span>,
     
    4242selected (see <a href="chapter_4.2.html#data_output_format">data_output_format</a>).
    4343The 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&nbsp;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
     44By default, data have single (4 byte) precision. Runtime-parameter <a href="chapter_4.2.html#netcdf_data_format">netcdf_data_format</a>
     45can be used to choose between the different NetCDF file formats
     46(classic, 64-bit offset, NetCDF4/HDF5). The 64-bit offset format allows
     47creating large files (file size only limited by the underlying file
     48system), but each output variable (array) is still limited to 2GB. In
     49NetCDF4 format, there is no limit for the size of variables, and it
     50also allows parallel I/O into one output file. However, some (graphic)
     51software still does not support NetCDF4 format.<br></p>PALM allows the output of
    5152various
    5253data (e.g. cross sections, vertical profiles, timeseries, etc.) into
     
    157158or <a href="chapter_4.2.html#skip_time_do3d">skip_time_do3d</a>)</td></tr><tr><td align="undefined" valign="undefined">particle
    158159timeseries</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
    160163post-processing of a PALM NetCDF file</span><br><br>This
    161164section describes, step-by-step, the creation, storage, and
     
    208211the respective <b>mrun</b> call is
    209212like<br><br><span style="font-family: monospace;">&nbsp;
    210 &nbsp;mrun -d&nbsp; test -r &ldquo;xy#&rdquo; ... </span><br style="font-family: monospace;"><br>then the local
     213&nbsp;mrun -d&nbsp; test -r “xy#” ... </span><br style="font-family: monospace;"><br>then the local
    211214file <tt><font style="font-size: 10pt;" size="2">DATA_2D_XY_NETCDF</font></tt>
    212215is copied to the permanent file <tt><font style="font-size: 10pt;" size="2">~/test/OUTPUT/test/test_xy.nc</font>
     
    229232which requires an additional file connection statement<br><br><span style="font-family: monospace;">&nbsp;&nbsp;
    230233DATA_2D_XY_AV_NETCDF out:loc:tr&nbsp; xy#&nbsp;
    231 ~/$fname/OUTPUT/$fname&nbsp; _xy_av nc&nbsp;&nbsp; .</span><br></p></li><li>With
     234~/$fname/OUTPUT/$fname&nbsp; _xy_av nc&nbsp;&nbsp; .</span><br></p></li><li>Using <a href="chapter_4.2.html#netcdf_data_format">netcdf_data_format</a> &gt; <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
    232235parallel runs and choice of <a href="chapter_4.2.html#data_output_2d_on_each_pe">data_output_2d_on_each_pe</a>
    233236= <i>.T.</i>
     
    293296example program.<br><br><br></li><li>By
    294297default, each PALM job creates its own NetCDF files. If permanent files
    295 with respective filenames are already existing then new files with
     298with respective filenames are already existing, then new files with
    296299higher cycle numbers will be created. However, in case of a job chain,
    297300it is possible to extend the NetCDF datasets created by the initial
  • palm/trunk/DOC/app/chapter_4.6.html

    r411 r493  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    22<html><head>
     3
    34
    45
     
    89 
    910 
    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>
    1112
    1213
     
    2021 
    2122 
    22   <title>PALM chapter 4.6</title><meta name="GENERATOR" content="StarOffice 7 (Win32)">
     23  <meta name="GENERATOR" content="StarOffice 7 (Win32)">
    2324
    2425
     
    6465@page { size: 21cm 29.7cm }
    6566-->
    66   </style></head>
    67 <body style="direction: ltr;" lang="en-US">
     67  </style></head><body style="direction: ltr;" lang="en-US">
    6868
    6969
     
    594594
    595595
    596       <td style="vertical-align: middle;"><span style="font-style: italic;">&acute;cyclic&acute;</span><br>
     596      <td style="vertical-align: middle;"><span style="font-style: italic;">ŽcyclicŽ</span><br>
    597597
    598598
     
    826826
    827827
    828  <td style="vertical-align: middle;"><i>&acute;reflect&acute;</i></td>
     828 <td style="vertical-align: middle;"><i>ŽreflectŽ</i></td>
    829829
    830830
     
    871871
    872872
    873  <td style="vertical-align: middle;"><i>&acute;cyclic&acute;</i></td>
     873 <td style="vertical-align: middle;"><i>ŽcyclicŽ</i></td>
    874874
    875875
     
    909909
    910910
    911  <td style="vertical-align: middle;"><i>&acute;cyclic&acute;</i></td>
     911 <td style="vertical-align: middle;"><i>ŽcyclicŽ</i></td>
    912912
    913913
     
    947947
    948948
    949  <td style="vertical-align: middle;"><i>&acute;absorb&acute;</i></td>
     949 <td style="vertical-align: middle;"><i>ŽabsorbŽ</i></td>
    950950
    951951
     
    13931393     
    13941394     
    1395       <p><i>&acute;neumann&acute;</i></p>
     1395      <p><i>ŽneumannŽ</i></p>
    13961396
    13971397
     
    21002100
    21012101
    2102       <td style="vertical-align: middle;" width="15%">
     2102      <tr><td style="vertical-align: middle;" width="15%">
    21032103     
    21042104     
     
    27342734
    27352735
    2736  <td><span style="font-style: italic;">100 * &acute; &acute;</span></td>
     2736 <td><span style="font-style: italic;">100 * Ž Ž</span></td>
    27372737
    27382738
     
    74577457
    74587458 <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>
    74597471
    74607472
     
    74947506
    74957507
    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 
    75537513
    75547514
     
    1013510095     
    1013610096     
    10137       <p>Rear (&ldquo;north&rdquo;) edge of a particle
     10097      <p>Rear (“north”) edge of a particle
    1013810098source (in m).</p>
    1013910099
     
    1035610316     
    1035710317     
    10358       <p>Front (&ldquo;south&rdquo;) edge of a particle
     10318      <p>Front (“south”) edge of a particle
    1035910319source (in m).</p>
    1036010320
     
    1140611366     
    1140711367     
    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>
    1140911369particles is
    1141011370varied randomly within certain limits.&nbsp;</span></p>
  • palm/trunk/DOC/app/chapter_5.0.html

    r404 r493  
    11<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    22<html><head>
     3
    34
    45<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>
     
    349350-DMPI_2REAL=MPI_2DOUBLE_PRECISION</span>. To switch on the NetCDF
    350351support, 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;">&lt;6&gt;
     352and <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;">&lt;6&gt;
    353354</span>is the compiler option for specifying the include path to
    354355search for the NetCDF module/include files</li><li><span style="font-family: Courier New,Courier,monospace;">&lt;7&gt;
     
    370371ifort&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lc_bar
    371372parallel<br>%cpp_options&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    372 -DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf:-D__netcdf_64bit&nbsp;&nbsp;
    373 lc_bar parallel<br>%netcdf_inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     373-DMPI_REAL=MPI_DOUBLE_PRECISION:-DMPI_2REAL=MPI_2DOUBLE_PRECISION:-D__netcdf&nbsp; lc_bar parallel<br>%netcdf_inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    374374-I:/usr/local/netcdf/include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    375375lc_bar parallel<br>%netcdf_lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     
    380380&nbsp;&nbsp;&nbsp; lc_bar parallel<br>%lopts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    381381-axW:-cpp:-openmp:-r8:-nbs:-Vaxlib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lc_bar
    382 parallel<br></div><br>Currently (version 3.2a),
     382parallel<br></div><br>Currently (version 3.7a),
    383383depending on the MPI
    384384version which is running on your local host, the options for the
  • palm/trunk/DOC/tec/technical_documentation.html

    r486 r493  
    11<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
    22<html><head>
     3
     4
    35
    46
     
    2729</p><ul> <a href="#Kapitel1.0">1.0</a>&nbsp;
    2830History of changes <p><a href="#Kapitel2.0">2.0</a>&nbsp;
    29 How to change the model source
    30 code </p> <p><a href="#Kapitel3.0">3.0</a>&nbsp;
     31How to change the source
     32code and how to document modifications<br>
     33 </p> <p><a href="#Kapitel3.0">3.0</a>&nbsp;
    3134Description of selected model numerics<br>
    3235&nbsp;</p>
     
    917920<br>&nbsp;
    918921<h2><a name="Kapitel2.0"></a>2.0&nbsp; How
    919 to change the model source
    920 code</h2>Currently
     922to change the source
     923code and how to document modifications<br>
     924</h2>Currently
    921925(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>
     926the 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>".
     930Additionally, document all changes in a local file (e.g.
     931~/palm/current_version/CURRENT_MODIFICATIONS), including the files that
     932have 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;">&nbsp;&nbsp; svn commit -m "message string" trunk<br>
     943    </span><br>
     944where "<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>
     946Alternatively, in case that you have made quite a lot of changes, you
     947can also give the contents of your file CURRENT_MODIFICATIONS as the
     948log message:<br>
     949    <br>
     950    <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp; 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
     958revisions:" to "Former revisions:". Set the current svn id in front of
     959that.<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;">&nbsp;&nbsp; svn commit -m "last commit documented" trunk</span><br>
     1005    <br>
     1006 <br>
     1007  </li>
     1008</ol>
     1009
    9241010<h2>
    9251011<a name="Kapitel3.0"></a>3.0&nbsp; Description
  • palm/trunk/SCRIPTS/mbuild

    r492 r493  
    113113     #                    removed, t3e related parts removed
    114114     # 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
    115118
    116119
     
    124127 locat=normal
    125128 makefile=""
     129 module_calls=""
    126130 scirocco=false
    127131 silent=false
     
    460464    fi
    461465
     466    modules=""
    462467    netcdf_inc=""
    463468    netcdf_lib=""
     
    798803
    799804
    800        # MPI LIBRARY ERMITTELN
     805       # get modules to be load
    801806    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
    804808    while read line1
    805809    do
     
    813817       then
    814818             # 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'`
    817820       fi
    818821
    819822    done < $tmp_mbuild
    820 
    821     [[ $found = false ]]  &&  mpilib=mpt
    822823
    823824
     
    918919       line=$(echo "$line" | cut -c51-)
    919920    done
    920     if [[ $( echo $remote_host | cut -c1-5 ) = lcsgi ]]
    921     then
    922        column1="mpi library:"; column2=$mpilib
    923        printf "| $column1$column2 | \n"
    924     fi
    925921    column1="loader options:"; column2=$loader_options
    926922    printf "| $column1$column2 | \n"
     
    933929       line=$(echo "$line" | cut -c51-)
    934930    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
    935944    printf "#------------------------------------------------------------------------# \n"
    936945
     
    10201029          echo "  *** execute \"make\" on remote host"
    10211030
     1031
     1032             # generate make call with make options
    10221033          if [[ $remote_host = nech ]]
    10231034          then
     
    10271038          fi
    10281039
     1040             # generate command to load modules, if modules are given
     1041          if [[ "$modules" != "" ]]
     1042          then
     1043             module_calls="module load ${modules};"
     1044          fi
     1045
    10291046          if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
    10301047          then
    10311048
    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_protokoll
     1049             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
    10331050
    10341051          elif [[ $remote_host = ibmh ]]
    10351052          then
    10361053
    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_protokoll
     1054             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
    10381055
    10391056          elif [[ $remote_host = lcsgib  ||  $remote_host = lcsgih ]]
    10401057          then
    10411058
    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
    10451060
    10461061          elif [[ $remote_host = lctit ]]
     
    10561071          then
    10571072
    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_protokoll
     1073             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
    10591074
    10601075          else
    10611076
    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_protokoll
     1077             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
    10631078
    10641079          fi
     
    11711186          fi
    11721187
     1188             # generate command to load modules, if modules are given
     1189          if [[ "$modules" != "" ]]
     1190          then
     1191             module_calls="module load ${modules};"
     1192          fi
     1193
    11731194          if [[ $remote_host = ibms  ||  $remote_host = ibmy ]]
    11741195          then
    11751196
    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"
    11771198
    11781199          elif [[ $remote_host = ibmh ]]
    11791200          then
    11801201
    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}
    11821203
    11831204          elif [[ $remote_host = lctit ]]
     
    11871208             while [[ $(cat ${remote_host}_last_make_protokoll | grep -c "Forwarding to N1GE") = 0 ]]
    11881209             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_protokoll
     1210                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
    11901211             done
    11911212
     
    11931214          then
    11941215
    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_protokoll
     1216             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
    11961217
    11971218          else
    11981219
    1199              print "cd ${remote_ud}; $make_call_string; [[ \$? != 0 ]] && echo MAKE_ERROR" | ssh  ${remote_username}@${remote_addres} 2>&1 | tee ${remote_host}_last_make_protokoll
     1220             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
    12001221
    12011222          fi
     
    12381259          echo " "
    12391260          echo "  *** execute \"make\" on local host"
     1261
     1262             # first load modules, if given
     1263          if [[ "$modules" != "" ]]
     1264          then
     1265             module load ${modules}
     1266          fi
    12401267
    12411268          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  
    198198     # 03/02/10 - Siggi  - make options (mopts) to be set by configuration file
    199199     #                     implemented
     200     # 08/02/10 - Siggi  - loading of modules now controlled via configuration
     201     #                     file (modules)
    200202
    201203
     
    261263    mc=`echo $mc | cut -f2- -d"/"`
    262264 done
    263  module_files=""
     265 module_calls=""
    264266 mrun_script_name=$mc
    265267 netcdf_inc=""
     
    20722074
    20732075
     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
    20742083    # SET DEFAULT VALUE FOR MPI MODULE TO BE USED ON SGI-ALTIX
    20752084 if [[ $host = lcsgib  ||  $host = lcsgih ]]
    20762085 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
    20782093 fi
    20792094
     
    21252140    if [[ "$mopts" != "" ]]
    21262141    then
    2127        spalte1=make-options:; spalte2=$mopts
     2142       spalte1="make options:"; spalte2=$mopts
    21282143       printf "| $spalte1$spalte2 | \n"
    21292144       zeile=$(echo "$mopts" | cut -c41-)
     
    21372152    fi
    21382153
    2139     spalte1=cpp-directives:; spalte2=$cpp_options
     2154    spalte1="cpp directives:"; spalte2=$cpp_options
    21402155    printf "| $spalte1$spalte2 | \n"
    21412156    zeile=$(echo "$cpp_options" | cut -c41-)
     
    21482163    done
    21492164
    2150     spalte1=compiler-options:; spalte2="$fopts"
     2165    spalte1="compiler options:"; spalte2="$fopts"
    21512166    printf "| $spalte1$spalte2 | \n"
    21522167    zeile=$(echo "$fopts" | cut -c41-)
     
    21592174    done
    21602175
    2161     spalte1=linker-options:; spalte2=$lopts
     2176    spalte1="linker options:"; spalte2=$lopts
    21622177    printf "| $spalte1$spalte2 | \n"
    21632178    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-)
    21642190    while [[ "$zeile" != "" ]]
    21652191    do
     
    23002326    tmpcreate=true
    23012327
     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
    23022335
    23032336       # SAEMTLICHE QUELLTEXT-DATEIEN BZW. AUSFUEHRBARES PROGRAMM IN
     
    24302463       printf "      compilername:             $compiler_name\n"
    24312464       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
    24342471       printf "      source code files:        $source_list \n"
    24352472
    24362473       if [[ $localhost = nech ]]
    24372474       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\" "
    24392476          cp  $TEMPDIR_COMPILE/a.out  .
    24402477          [[ $? != 0 ]]  &&  compile_error=true
     
    24432480       then
    24442481          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\" "
    24462483          [[ ! -f a.out ]]  &&  compile_error=true
    24472484          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
    24482485       elif [[ $localhost = lcsgib ]]
    24492486       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\" "
    24522489          [[ ! -f a.out ]]  &&  compile_error=true
    24532490          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
    24542491       elif [[ $localhost = lcsgih ]]
    24552492       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 "
    24582495          [[ ! -f a.out ]]  &&  compile_error=true
    24592496          continue   # ANDERENFALLS IST STATUS=1, FALLS A.OUT VORHANDEN
    24602497       else
    24612498          [[ $localhost = lctit ]]  &&  export LM_LICENSE_FILE=27050@tggls
     2499          [[ "$module_calls" != "" ]]  &&  eval $module_calls
    24622500          make $mopts -f Makefile PROG=a.out  F90=$compiler_name  COPT="$cpp_options"  F90FLAGS="$fopts"  LDFLAGS="$lopts"
    24632501       fi
  • palm/trunk/SCRIPTS/subjob

    r492 r493  
    115115     # 26/02/10 - BjornM- re-adjustments for lcxt4 (new modules, email
    116116     #                    notification)
     117     # 01/03/10 - Siggi - loading of modules controlled by environment variable
     118     #                    module_calls
     119
    117120
    118121
     
    815818
    816819. /usr/share/modules/init/bash
    817 module load ifort/11.0.069
    818 module load $mpilib
    819 module load netcdf
     820$module_calls
    820821
    821822echo ld_library_path=\$LD_LIBRARY_PATH
     
    835836
    836837. /usr/share/modules/init/bash
    837 module load ifort/11.0.069
    838 module load netcdf
     838$module_calls
    839839
    840840%%END%%
     
    861861
    862862. /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
    869864
    870865%%END%%
     
    885880
    886881. /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
    893883
    894884%%END%%
     
    938928
    939929. /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
    944931
    945932%%END%%
     
    958945
    959946. /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
    964948
    965949%%END%%
  • palm/trunk/SOURCE/check_open.f90

    r449 r493  
    44! Current revisions:
    55! -----------------
    6 !
     6! NetCDF4 support (parallel output)
    77!
    88! Former revisions:
     
    125125    SELECT CASE ( file_id )
    126126
    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 )
    129128             
    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
    131138         
    132139             IF ( myid /= 0 )  THEN
     
    136143             ENDIF
    137144             
    138           ENDIF
     145          ENDIF
    139146
    140147       CASE ( 21, 22, 23 )
     
    705712          IF ( netcdf_extend )  THEN
    706713!
    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
    708719             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xy(av) )
     720#endif
    709721
    710722             CALL handle_netcdf_error( 'check_open', 20 )
     
    720732                nc_stat = NF90_CLOSE( id_set_xy(av) )
    721733                CALL handle_netcdf_error( 'check_open', 21 )
    722                 CALL local_system( 'rm ' // TRIM( filename ) )
     734                IF ( myid == 0 )  CALL local_system( 'rm ' // TRIM( filename ) )
    723735             ENDIF
    724736
     
    727739          IF ( .NOT. netcdf_extend )  THEN
    728740!
    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
    732750                nc_stat = NF90_CREATE( filename,                               &
    733751                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    734752                                       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
    745774             CALL handle_netcdf_error( 'check_open', 22 )
     775
    746776!
    747777!--          Define the header
    748778             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
    749788
    750789          ENDIF
     
    769808!
    770809!--          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
    771814             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_xz(av) )
     815#endif
    772816             CALL handle_netcdf_error( 'check_open', 23 )
    773817!
     
    782826                nc_stat = NF90_CLOSE( id_set_xz(av) )
    783827                CALL handle_netcdf_error( 'check_open', 24 )
    784                 CALL local_system( 'rm ' // TRIM( filename ) )
     828                IF ( myid == 0 )  CALL local_system( 'rm ' // TRIM( filename ) )
    785829             ENDIF
    786830
     
    789833          IF ( .NOT. netcdf_extend )  THEN
    790834!
    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
    794844                nc_stat = NF90_CREATE( filename,                               &
    795845                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    796846                                       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
    807868             CALL handle_netcdf_error( 'check_open', 25 )
     869
    808870!
    809871!--          Define the header
    810872             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
    811882
    812883          ENDIF
     
    831902!
    832903!--          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
    833908             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_yz(av) )
     909#endif
    834910             CALL handle_netcdf_error( 'check_open', 26 )
    835911!
     
    844920                nc_stat = NF90_CLOSE( id_set_yz(av) )
    845921                CALL handle_netcdf_error( 'check_open', 27 )
    846                 CALL local_system( 'rm ' // TRIM( filename ) )
     922                IF ( myid == 0 )  CALL local_system( 'rm ' // TRIM( filename ) )
    847923             ENDIF
    848924
     
    851927          IF ( .NOT. netcdf_extend )  THEN
    852928!
    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 ),&
    858940                                       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
    869962             CALL handle_netcdf_error( 'check_open', 28 )
     963
    870964!
    871965!--          Define the header
    872966             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
    873976
    874977          ENDIF
     
    9081011!
    9091012!--          Create a new NetCDF output file
    910              IF ( netcdf_64bit )  THEN
    911 #if defined( __netcdf_64bit )
     1013             IF ( netcdf_data_format > 1 )  THEN
    9121014                nc_stat = NF90_CREATE( filename,                               &
    9131015                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    9141016                                       id_set_pr )
    915 #else
    916                 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 #endif
    9221017             ELSE
    9231018                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pr )
     
    9641059!
    9651060!--          Create a new NetCDF output file
    966              IF ( netcdf_64bit )  THEN
    967 #if defined( __netcdf_64bit )
     1061             IF ( netcdf_data_format > 1 )  THEN
    9681062                nc_stat = NF90_CREATE( filename,                               &
    9691063                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    9701064                                       id_set_ts )
    971 #else
    972                 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 #endif
    9781065             ELSE
    9791066                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_ts )
     
    9981085          ENDIF
    9991086!
    1000 !--       Inquire, if there is a NetCDF file from a previuos run. This should
     1087!--       Inquire, if there is a NetCDF file from a previous run. This should
    10011088!--       be opened for extension, if its dimensions and variables match the
    10021089!--       actual run.
     
    10051092          IF ( netcdf_extend )  THEN
    10061093!
    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
    10081099             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_3d(av) )
     1100#endif
    10091101             CALL handle_netcdf_error( 'check_open', 35 )
    10101102!
     
    10261118          IF ( .NOT. netcdf_extend )  THEN
    10271119!
    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
    10311129                nc_stat = NF90_CREATE( filename,                               &
    10321130                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    10331131                                       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
    10441153             CALL handle_netcdf_error( 'check_open', 37 )
     1154
    10451155!
    10461156!--          Define the header
    10471157             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
    10481167
    10491168          ENDIF
     
    10851204!
    10861205!--          Create a new NetCDF output file
    1087              IF ( netcdf_64bit )  THEN
    1088 #if defined( __netcdf_64bit )
     1206             IF ( netcdf_data_format > 1 )  THEN
    10891207                nc_stat = NF90_CREATE( filename,                               &
    10901208                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    10911209                                       id_set_sp )
    1092 #else
    1093                 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 #endif
    10991210             ELSE
    11001211                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_sp )
     
    11621273!
    11631274!--          Create a new NetCDF output file
    1164              IF ( netcdf_64bit )  THEN
    1165 #if defined( __netcdf_64bit )
     1275             IF ( netcdf_data_format > 1 )  THEN
    11661276                nc_stat = NF90_CREATE( filename,                               &
    11671277                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    11681278                                       id_set_prt )
    1169 #else
    1170                 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 #endif
    11761279             ELSE
    11771280                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_prt )
     
    12191322!
    12201323!--          Create a new NetCDF output file
    1221              IF ( netcdf_64bit )  THEN
    1222 #if defined( __netcdf_64bit )
     1324             IF ( netcdf_data_format > 1 )  THEN
    12231325                nc_stat = NF90_CREATE( filename,                               &
    12241326                                       OR( NF90_NOCLOBBER, NF90_64BIT_OFFSET ),&
    12251327                                       id_set_pts )
    1226 #else
    1227                 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 #endif
    12331328             ELSE
    12341329                nc_stat = NF90_CREATE( filename, NF90_NOCLOBBER, id_set_pts )
     
    12661361!--          Open an existing NetCDF file for output
    12671362#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 )
    12701365#else
    12711366             nc_stat = NF90_OPEN( filename, NF90_WRITE, id_set_mask(mid,av) )
     
    12901385          IF ( .NOT. netcdf_extend )  THEN
    12911386!
    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
    13121402#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
    13441422             CALL handle_netcdf_error( 'check_open', 9998 )
    13451423!
  • palm/trunk/SOURCE/check_parameters.f90

    r484 r493  
    44! Current revisions:
    55! -----------------
    6 !
     6! netcdf_data_format is checked
    77!
    88! Former revisions:
     
    26922692
    26932693!
     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!
    26942708!-- Check netcdf precison
    26952709    ldum = .FALSE.
  • palm/trunk/SOURCE/close_file.f90

    r449 r493  
    44! Current revisions:
    55! -----------------
    6 !
     6! Adjustments for NetCDF parallel data output
    77!
    88! Former revisions:
     
    409409             CASE ( 101 )
    410410
    411                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     411                IF ( netcdf_output  .AND.  &
     412                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    412413                   nc_stat = NF90_CLOSE( id_set_xy(0) )
    413414                   CALL handle_netcdf_error( 'close_file', 44 )
     
    416417             CASE ( 102 )
    417418
    418                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     419                IF ( netcdf_output  .AND.  &
     420                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    419421                   nc_stat = NF90_CLOSE( id_set_xz(0) )
    420422                   CALL handle_netcdf_error( 'close_file', 45 )
     
    423425             CASE ( 103 )
    424426
    425                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     427                IF ( netcdf_output  .AND.  &
     428                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    426429                   nc_stat = NF90_CLOSE( id_set_yz(0) )
    427430                   CALL handle_netcdf_error( 'close_file', 46 )
     
    444447             CASE ( 106 )
    445448
    446                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     449                IF ( netcdf_output  .AND.  &
     450                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    447451                   nc_stat = NF90_CLOSE( id_set_3d(0) )
    448452                   CALL handle_netcdf_error( 'close_file', 49 )
     
    472476             CASE ( 111 )
    473477
    474                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     478                IF ( netcdf_output  .AND.  &
     479                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    475480                   nc_stat = NF90_CLOSE( id_set_xy(1) )
    476481                   CALL handle_netcdf_error( 'close_file', 52 )
     
    479484             CASE ( 112 )
    480485
    481                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     486                IF ( netcdf_output  .AND.  &
     487                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    482488                   nc_stat = NF90_CLOSE( id_set_xz(1) )
    483489                   CALL handle_netcdf_error( 'close_file', 352 )
     
    486492             CASE ( 113 )
    487493
    488                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     494                IF ( netcdf_output  .AND.  &
     495                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    489496                   nc_stat = NF90_CLOSE( id_set_yz(1) )
    490497                   CALL handle_netcdf_error( 'close_file', 353 )
     
    493500             CASE ( 116 )
    494501
    495                 IF ( myid == 0  .AND.  netcdf_output )  THEN
     502                IF ( netcdf_output  .AND.  &
     503                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    496504                   nc_stat = NF90_CLOSE( id_set_3d(1) )
    497505                   CALL handle_netcdf_error( 'close_file', 353 )
     
    500508             CASE ( 121:160 )
    501509             
    502                 IF ( format_parallel_io ) THEN
     510                IF ( netcdf_output  .AND.  &
     511                     ( myid == 0  .OR.  netcdf_data_format > 2 ) )  THEN
    503512!
    504513!--                decompose fid into mid and av
     
    513522                   CALL handle_netcdf_error( 'close_file', 9998 )
    514523               
    515                 ELSEIF ( myid == 0  .AND.  netcdf_output )  THEN
    516 !
    517 !--                decompose fid into mid and av
    518                    IF ( fid <= 140 )  THEN
    519                       mid = fid - 120
    520                       av = 0
    521                    ELSE
    522                       mid = fid - 140
    523                       av = 1
    524                    ENDIF
    525                    nc_stat = NF90_CLOSE( id_set_mask(mid,av) )
    526                    CALL handle_netcdf_error( 'close_file', 9998 )
    527                    
    528524                ENDIF
    529525
  • palm/trunk/SOURCE/data_output_2d.f90

    r392 r493  
    7373    CHARACTER (LEN=25) ::  section_chr
    7474    CHARACTER (LEN=50) ::  rtext
    75     INTEGER ::  av, ngp, file_id, i, if, is, j, k, l, layer_xy, n, psi, s, &
    76                 sender, &
     75    INTEGER ::  av, ngp, file_id, i, if, is, iis, j, k, l, layer_xy, n, psi, &
     76                s, sender, &
    7777                ind(4)
    7878    LOGICAL ::  found, resorted, two_d
     
    110110          ALLOCATE( level_z(0:nzt+1), local_2d(nxl-1:nxr+1,nys-1:nyn+1) )
    111111
    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
    115119
    116120          IF ( data_output_2d_on_each_pe )  THEN
     
    130134          ALLOCATE( local_2d(nxl-1:nxr+1,nzb:nzt+1) )
    131135
    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
    135143
    136144          IF ( data_output_2d_on_each_pe )  THEN
     
    150158          ALLOCATE( local_2d(nys-1:nyn+1,nzb:nzt+1) )
    151159
    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
    155167
    156168          IF ( data_output_2d_on_each_pe )  THEN
     
    603615!
    604616!--                Update the NetCDF xy cross section time axis
    605                    IF ( myid == 0 )  THEN
     617                   IF ( myid == 0  .OR.  netcdf_data_format > 2 )  THEN
    606618                      IF ( simulated_time /= do2d_xy_last_time(av) )  THEN
    607619                         do2d_xy_time_count(av) = do2d_xy_time_count(av) + 1
    608620                         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
    611624#if defined( __netcdf )
    612625                            nc_stat = NF90_PUT_VAR( id_set_xy(av),             &
     
    615628                                         start = (/ do2d_xy_time_count(av) /), &
    616629                                                    count = (/ 1 /) )
    617                          CALL handle_netcdf_error( 'data_output_2d', 53 )
     630                            CALL handle_netcdf_error( 'data_output_2d', 53 )
    618631#endif
    619632                         ENDIF
     
    645658
    646659#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
    650671#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
    659708                   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
    683760                            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) )
    697762
    698763#if defined( __netcdf )
    699                          IF ( netcdf_output )  THEN
    700                             IF ( two_d ) THEN
    701                                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),  &
    703768                                                      total_2d(0:nx+1,0:ny+1), &
    704769                                start = (/ 1, 1, 1, do2d_xy_time_count(av) /), &
    705770                                                count = (/ nx+2, ny+2, 1, 1 /) )
    706                             ELSE
    707                                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),  &
    709774                                                      total_2d(0:nx+1,0:ny+1), &
    710775                               start = (/ 1, 1, is, do2d_xy_time_count(av) /), &
    711776                                                count = (/ nx+2, ny+2, 1, 1 /) )
     777                               ENDIF
     778                               CALL handle_netcdf_error( 'data_output_2d', 54 )
    712779                            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+1
    721                          ind(3) = nys-1; ind(4) = nyn+1
    722                          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 may
    731 !--                   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
    734801                   ENDIF
    735802#else
     
    752819                                              count = (/ nx+2, ny+2, 1, 1 /) )
    753820                      ENDIF
    754                       CALL handle_netcdf_error( 'data_output_2d', 55 )
     821                      CALL handle_netcdf_error( 'data_output_2d', 447 )
    755822                   ENDIF
    756823#endif
     
    789856!
    790857!--                Update the NetCDF xz cross section time axis
    791                    IF ( myid == 0 )  THEN
     858                   IF ( myid == 0  .OR.  netcdf_data_format > 2 )  THEN
     859
    792860                      IF ( simulated_time /= do2d_xz_last_time(av) )  THEN
    793861                         do2d_xz_time_count(av) = do2d_xz_time_count(av) + 1
    794862                         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
    797866#if defined( __netcdf )
    798867                            nc_stat = NF90_PUT_VAR( id_set_xz(av),             &
     
    801870                                         start = (/ do2d_xz_time_count(av) /), &
    802871                                                    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
    807877                   ENDIF
    808878!
     
    848918
    849919#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.
    854962#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
    865983                      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
    867997                      ENDIF
    868998
    869999                   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 ) )  &
    8831015                         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,  &
    9041049                                              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)
    9061068                            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) )
    9171073
    9181074#if defined( __netcdf )
    919                          IF ( netcdf_output )  THEN
    920                             nc_stat = NF90_PUT_VAR( id_set_xz(av),             &
     1075                            IF ( netcdf_output )  THEN
     1076                               nc_stat = NF90_PUT_VAR( id_set_xz(av),          &
    9211077                                                    id_var_do2d(av,if),        &
    9221078                                                    total_2d(0:nx+1,nzb:nzt+1),&
    9231079                               start = (/ 1, is, 1, do2d_xz_time_count(av) /), &
    9241080                                                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
    9381085                         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
    9561115                   ENDIF
    9571116#else
     
    9661125                               start = (/ 1, is, 1, do2d_xz_time_count(av) /), &
    9671126                                              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 )
    9691128                   ENDIF
    9701129#endif
     
    9951154                CASE ( 'yz' )
    9961155!
    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
    9991159                      IF ( simulated_time /= do2d_yz_last_time(av) )  THEN
    10001160                         do2d_yz_time_count(av) = do2d_yz_time_count(av) + 1
    10011161                         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
    10041165#if defined( __netcdf )
    10051166                            nc_stat = NF90_PUT_VAR( id_set_yz(av),             &
     
    10121173                         ENDIF
    10131174                      ENDIF
     1175
    10141176                   ENDIF
    10151177!
     
    10551217
    10561218#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.
    10611261#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
    10721282                      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
    10741296                      ENDIF
    10751297
    10761298                   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 ) )  &
    10901314                         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,  &
    11111348                                              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)
    11131367                            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) )
    11241372
    11251373#if defined( __netcdf )
    1126                          IF ( netcdf_output )  THEN
    1127                             nc_stat = NF90_PUT_VAR( id_set_yz(av),             &
     1374                            IF ( netcdf_output )  THEN
     1375                               nc_stat = NF90_PUT_VAR( id_set_yz(av),          &
    11281376                                                    id_var_do2d(av,if),        &
    11291377                                                    total_2d(0:ny+1,nzb:nzt+1),&
    11301378                               start = (/ is, 1, 1, do2d_yz_time_count(av) /), &
    11311379                                                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
    11451384                         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
    11631414                   ENDIF
    11641415#else
     
    11731424                               start = (/ is, 1, 1, do2d_xz_time_count(av) /), &
    11741425                                              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 )
    11761427                   ENDIF
    11771428#endif
  • palm/trunk/SOURCE/data_output_3d.f90

    r392 r493  
    7676!-- Open output file.
    7777!-- 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
    7980!-- writes the data of its subdomain in binary format (regardless of the format
    8081!-- the user has requested). After the run, these files are combined to one
    8182!-- 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
    8895
    8996!
     
    94101!-- Update the NetCDF time axis
    95102#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
    103112    ENDIF
    104113#endif
     
    376385!--       Uncompressed output.
    377386#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
    380427          ENDIF
    381           WRITE ( 30 )  nxl-1, nxr+1, nys-1, nyn+1, nzb, nz_do3d
    382           WRITE ( 30 )  local_pf
    383428#else
    384429          IF ( avs_output )  THEN
     
    387432#if defined( __netcdf )
    388433          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
    394441          ENDIF
    395442#endif
  • palm/trunk/SOURCE/data_output_mask.f90

    r484 r493  
    5353    CALL cpu_log (log_point(49),'data_output_mask','start')
    5454
    55 !!
     55!
    5656!-- 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
    6059       CALL check_open( 120+mid+av*max_masks )
    6160    ENDIF
     
    7473!-- Update the NetCDF time axis.
    7574    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
    8377       nc_stat = NF90_PUT_VAR( id_set_mask(mid,av), id_var_time_mask(mid,av), &
    8478                               (/ simulated_time /),                          &
     
    9589!
    9690!--    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 )  THEN
     91       IF ( netcdf_data_format < 3   .AND.  myid == 0  .AND. if > 1 )  THEN
    9892          DEALLOCATE( local_pf )
    9993          ALLOCATE( local_pf(mask_size_l(mid,1),mask_size_l(mid,2), &
     
    329323!--    The choice of method depends on the correct setting of preprocessor
    330324!--    directives __parallel and __netcdf4 as well as on the parameter
    331 !--    nc_format_mask(mid,av).
     325!--    netcdf_data_format.
    332326#if defined( __parallel )
    333327#if defined( __netcdf4 )
    334        IF ( nc_format_mask(mid,av) == 3 .OR. nc_format_mask(mid,av) == 4 )  THEN
     328       IF ( netcdf_data_format > 2 )  THEN
    335329!
    336330!--       (1) a. Parallel I/O using NetCDF 4 (not yet tested)
  • palm/trunk/SOURCE/header.f90

    r482 r493  
    44! Current revisions:
    55! -----------------
    6 !
     6! NetCDF data output format extendend for NetCDF4/HDF5
    77!
    88! Former revisions:
     
    1616! 410 2009-12-04 17:05:40Z letzel
    1717! 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_domask
     18! mask_scale|_x|y|z, masks, skip_time_domask
    1919!
    2020! 346 2009-07-06 10:13:41Z raasch
     
    700700       output_format = ''
    701701       IF ( netcdf_output )  THEN
    702           IF ( netcdf_64bit )  THEN
    703              output_format = 'netcdf (64 bit offset)'
     702          IF ( netcdf_data_format == 1 )  THEN
     703             output_format = 'NetCDF classic'
    704704          ELSE
    705              output_format = 'netcdf'
     705             output_format = 'NetCDF 64bit offset'
    706706          ENDIF
    707707       ENDIF
     
    778778          output_format = ''
    779779          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'
    784788             ENDIF
    785789          ENDIF
     
    935939          output_format = ''
    936940          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'
    941949             ENDIF
    942950          ENDIF
     
    10291037             output_format = ''
    10301038             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
    10411048             ENDIF
    10421049             WRITE ( io, 344 )  output_format
     
    10921099       output_format = ''
    10931100       IF ( netcdf_output )  THEN
    1094           IF ( netcdf_64bit )  THEN
    1095              output_format = 'netcdf (64 bit offset)'
     1101          IF ( netcdf_data_format == 1 )  THEN
     1102             output_format = 'NetCDF classic'
    10961103          ELSE
    1097              output_format = 'netcdf'
     1104             output_format = 'NetCDF 64bit offset'
    10981105          ENDIF
    10991106       ENDIF
     
    11691176       output_format = ''
    11701177       IF ( netcdf_output )  THEN
    1171           IF ( netcdf_64bit )  THEN
    1172              output_format = 'netcdf (64 bit offset)'
     1178          IF ( netcdf_data_format == 1 )  THEN
     1179             output_format = 'NetCDF classic'
    11731180          ELSE
    1174              output_format = 'netcdf'
     1181             output_format = 'NetCDF 64bit offset'
    11751182          ENDIF
    11761183       ENDIF
     
    14931500          output_format = ''
    14941501          IF ( netcdf_output )  THEN
    1495              IF ( netcdf_64bit )  THEN
     1502             IF ( netcdf_data_format > 1 )  THEN
    14961503                output_format = 'netcdf (64 bit offset) and binary'
    14971504             ELSE
  • palm/trunk/SOURCE/init_masks.f90

    r484 r493  
    4848    ALLOCATE( mask(max_masks,3,mask_xyz_dimension), &
    4949              mask_loop(max_masks,3,3) )
    50 !
    51 !-- Store netcdf file formats for masked data output in one shared array
    52     nc_format_mask(:,0) = netcdf_format_mask
    53     nc_format_mask(:,1) = netcdf_format_mask_av
    5450   
    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).'
    6757       CALL message( 'init_masks', 'PA9998', 1, 2, 0, 6, 0 )
    6858    ENDIF
     
    162152!
    163153!-- 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
    170155       ALLOCATE( mask_i_global(max_masks,nx+1), &
    171156                 mask_j_global(max_masks,ny+1), &
     
    472457       CALL MPI_BARRIER( comm2d, ierr )
    473458       
    474        IF ( format_parallel_io )  THEN 
     459       IF ( netcdf_data_format > 2 )  THEN 
    475460         
    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 )
    479467         
    480468       ENDIF
     
    496484
    497485 CONTAINS
     486
    498487    SUBROUTINE set_mask_locations( dim, dxyz, dxyz_string, nxyz, nxyz_string, &
    499488                                   lb, ub )
  • palm/trunk/SOURCE/modules.f90

    r486 r493  
    55! Current revisions:
    66! -----------------
    7 !
     7! +netcdf_data_format, -netcdf_64bit, -netcdf_64bit_3d
    88!
    99! Former revisions:
     
    2323! 410 2009-12-04 17:05:40Z letzel
    2424! 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_domask
     25! mask_scale|_x|y|z, masks, skip_time_domask
    2626!
    2727! 388 2009-09-23 09:40:33Z raasch
     
    379379                intermediate_timestep_count, intermediate_timestep_count_max, &
    380380                iran = -1234567, last_dt_change = 0, masks = 0, &
    381                 maximum_grid_level, &
    382                 max_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, &
    384384                nsor_ini = 100, n_sor, normalizing_region = 0, &
    385385                nz_do1d, nz_do3d = -9999, outflow_damping_width = -1, &
     
    396396                mask_size(max_masks,3) = -1, mask_size_l(max_masks,3) = -1, &
    397397                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, &
    401398                pt_vertical_gradient_level_ind(10) = -9999, &
    402399                q_vertical_gradient_level_ind(10) = -9999, &
     
    430427                disturbance_created = .FALSE., &
    431428                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.,&
    434430                humidity = .FALSE., humidity_remote = .FALSE., &
    435431                inflow_l = .FALSE., inflow_n = .FALSE., &
     
    437433                iso2d_output = .FALSE., large_scale_subsidence = .FALSE., &
    438434                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., &
    441436                outflow_l = .FALSE., outflow_n = .FALSE., outflow_r = .FALSE., &
    442437                outflow_s = .FALSE., passive_scalar = .FALSE., &
  • palm/trunk/SOURCE/netcdf.f90

    r449 r493  
    77! Current revisions:
    88! ------------------
    9 !
     9! Extensions for NetCDF4 output
    1010!
    1111! Former revisions:
     
    10931093                                     'units', TRIM( do3d_unit(av,i) ) )
    10941094             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
    10961105             i = i + 1
    10971106
     
    12991308                                       id_var_do3d(av,i) )
    13001309             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
    13011320             i = i + 1
    13021321          ENDDO
     
    16441663                                        'units', TRIM( do2d_unit(av,i) ) )
    16451664                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
    16461675             ENDIF
    16471676
     
    19401969                                          id_var_do2d(av,i) )
    19411970                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
    19421981             ENDIF
    19431982             i = i + 1
     
    22122251                                        'units', TRIM( do2d_unit(av,i) ) )
    22132252                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
    22142279             ENDIF
    22152280
     
    24782543                                          id_var_do2d(av,i) )
    24792544                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
    24802571             ENDIF
    24812572             i = i + 1
     
    27502841                                        'units', TRIM( do2d_unit(av,i) ) )
    27512842                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
    27522869             ENDIF
    27532870
     
    30143131                                          id_var_do2d(av,i) )
    30153132                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
    30163159             ENDIF
    30173160             i = i + 1
  • palm/trunk/SOURCE/parin.f90

    r482 r493  
    44! Current revisions:
    55! -----------------
    6 !
     6! +netcdf_data_format in d3par, -netcdf_64bit, -netcdf_64bit_3d
    77!
    88! Former revisions:
     
    1616! 410 2009-12-04 17:05:40Z letzel
    1717! 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_domask
     18! mask_scale_x|y|z, masks, skip_time_domask
    1919!
    2020! 291 2009-04-16 12:07:26Z raasch
     
    6161! 20 2007-02-26 00:12:32Z raasch
    6262! +top_heatflux, use_top_fluxes in inipar
    63 !
    64 ! -netcdf_64bit_3d
    6563!
    6664! 3 2007-02-13 11:30:58Z raasch
     
    208206                       mask_19_z_loop, mask_20_z_loop, &
    209207                       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, &
    212209                       ngsrb, normalizing_region, npex, npey, nsor, nz_do3d, &
    213210                       omega_sor, &
  • palm/trunk/SOURCE/user_statistics.f90

    r484 r493  
    44! Current revisions:
    55! -----------------
    6 !
     6! Bugfix: timeseries data have to be collected by PE0
    77!
    88! Former revisions:
     
    2525    USE arrays_3d
    2626    USE indices
     27    USE netcdf_control
    2728    USE statistics
    2829    USE user
     
    3334
    3435    INTEGER ::  i, j, k, sr, tn
     36
     37    REAL, DIMENSION(dots_num_palm+1:dots_max) ::  ts_value_l
    3538
    3639
     
    7073!--    creates two time series for the absolut values of the horizontal
    7174!--    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
    7495
    7596    ENDIF
  • palm/trunk/UTIL/combine_plot_fields.f90

    r226 r493  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Exit in case of already complete NetCDF data (due to parallel output in PALM)
     7! cpu measurements included
    78!
    89! Former revisions:
     
    4748! Output format is NetCDF. Additionally, a data are output in a binary format
    4849! 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/include
    53 !    -L/usr/local/netcdf-3.5.1/lib -lnetcdf
    54 ! IBM-Regatta:
    55 !    xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q
    56 !    -I /aws/dataformats/netcdf-3.6.0-p1/64-32/include-64
    57 !    -L/aws/dataformats/netcdf-3.6.0-p1/64-32/lib -lnetcdf -O3
    58 ! IBM-Regatta KISTI:
    59 !    xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q
    60 !    -I /applic/netcdf64/src/f90
    61 !    -L/applic/lib/NETCDF64 -lnetcdf -O3
    62 ! IBM-Regatta Yonsei (gfdl5):
    63 !    xlf95 -qsuffix=cpp=f90 -WF,-D__netcdf -qrealsize=8 -q64 -qmaxmem=-1 -Q
    64 !    -I /usr1/users/raasch/pub/netcdf-3.6.0-p1/include
    65 !    -L/usr1/users/raasch/pub/netcdf-3.6.0-p1/lib -lnetcdf -O3
    66 ! IMUK:
    67 !    ifort combine...f90 -o combine...x
    68 !    -cpp -D__netcdf -I /muksoft/packages/netcdf/linux/include -axW -r8 -nbs
    69 !    -Vaxlib -L /muksoft/packages/netcdf/linux/lib -lnetcdf
    70 ! NEC-SX6:
    71 !    sxf90 combine...f90 -o combine...x
    72 !    -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 -lnetcdf
    74 ! Sun Fire X4600
    75 !    pgf95 combine...f90 -o combine...x
    76 !    -Mpreprocess -D__netcdf -I /home/usr5/mkanda/netcdf-3.6.1/src/f90 -r8
    77 !    -fast -L/home/usr5/mkanda/netcdf-3.6.1/src/libsrc -lnetcdf
    78 ! FIMM:
    79 !    ifort combine...f90 -o combine...x
    80 !    -axW -cpp -openmp -r8 -nbs -convert little_endian -D__netcdf
    81 !    -I /local/netcdf/include -Vaxlib -L/local/netcdf/lib -lnetcdf
    8250!------------------------------------------------------------------------------!
    8351
     
    10472                xxa, xxe, ya, ye, yya, yye, za, ze, zza, zze
    10573
     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
    10682    INTEGER, DIMENSION(0:1) ::  current_level, current_var, fanz, id_set, &
    10783         id_var_time, num_var
     
    11490
    11591    LOGICAL ::  avs_output, compressed, found, iso2d_output, netcdf_output, &
    116                 netcdf_0, netcdf_1
    117 
    118     REAL ::  dx, simulated_time
     92                netcdf_parallel, netcdf_0, netcdf_1
     93
     94    REAL ::  cpu_start_time, cpu_end_time, dx, simulated_time
    11995    REAL, DIMENSION(:),   ALLOCATABLE   ::  eta, ho, hu
    12096    REAL, DIMENSION(:,:), ALLOCATABLE   ::  pf, pf_tmp
     
    162138       DO  WHILE ( modus == 'XY'  .OR.  modus == 'XZ'  .OR.  modus == 'YZ' )
    163139!
     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!
    164152!--       Check, if file from PE0 exists. If it does not exist, PALM did not
    165153!--       create any output for this cross-section.
     
    202190          IF ( netcdf_0  .OR.  netcdf_1 )  THEN
    203191             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
    204202          ELSE
    205203             netcdf_output = .FALSE.
     
    211209          PRINT*, '*** combine_plot_fields ***'
    212210#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
    214219#else
    215220          IF ( netcdf_output )  THEN
     
    218223          ENDIF
    219224#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
    227235#if defined( __netcdf )
    228236             DO  av = 0, 1
     
    312320!
    313321!--       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
    343355                   ENDIF
    344                 ENDIF
    345 !
    346 !--             Read output time
    347                 IF ( netcdf_output  .AND.  id == 0 )  THEN
    348                    IF ( netcdf_1 )  THEN
    349                       READ ( id+110, END=998 )  simulated_time, time_step, av
    350                    ELSE
    351 !
    352 !--                   For compatibility with earlier PALM versions
    353                       READ ( id+110, END=998 )  simulated_time, time_step
    354                       av = 0
     356!
     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
    355367                   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)
    379390       
    380391!
    381 !--          Write same data in NetCDF format
    382              IF ( netcdf_output )  THEN
    383 #if defined( __netcdf )
    384 !
    385 !--             Check if a new time step has begun; if yes write data to time
    386 !--             axis
    387                 IF ( current_var(av) > num_var(av) )  THEN
    388                    current_var(av) = 1
    389                    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                 ENDIF
    395 
    396 !
    397 !--             Now write the data; this is mode dependent
    398                 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),                   &
    402413                                           id_var(av,current_var(av)),         &
    403414                                           pf(nxa:nxe,nya:nye),                &
    404415                             start = (/ 1, 1, current_level(av), time_step /), &
    405416                                      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
    407420                 
    408                    CASE ( 'XZ' )
    409                       nc_stat = NF90_PUT_VAR( id_set(av),                      &
     421                      CASE ( 'XZ' )
     422                         nc_stat = NF90_PUT_VAR( id_set(av),                   &
    410423                                           id_var(av,current_var(av)),         &
    411424                                           pf(nxa:nxe,nya:nye),                &
    412425                             start = (/ 1, current_level(av), 1, time_step /), &
    413426                                      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),                   &
    418433                                           id_var(av,current_var(av)),         &
    419434                                           pf(nxa:nxe,nya:nye),                &
    420435                             start = (/ current_level(av), 1, 1, time_step /), &
    421436                                      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
    432452                ENDIF
    433453
    434 #endif
    435              ENDIF
    436 
    437           ENDDO
    438 
    439 998       IF ( danz /= 0 )  THEN
     454             ENDDO
     455
     456          ENDIF
     457
     458998       IF ( danz /= 0  .AND.  .NOT. netcdf_parallel )  THEN
    440459!
    441460!--          Print the number of the arrays processed
     
    452471             CLOSE ( 2 )
    453472             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
    463487             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
    468504#endif
    469505          ENDIF
     
    485521!
    486522!--    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
    487540
    488541!
     
    500553       IF ( netcdf_0  .OR.  netcdf_1 )  THEN
    501554          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
    502563       ELSE
    503564          netcdf_output = .FALSE.
     
    505566
    506567!
    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
    513579
    514580!
     
    533599       ENDDO
    534600
    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
    541610#else
    542611       IF ( netcdf_output )  THEN
     
    545614       ENDIF
    546615#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'
    552619          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
    558629#if defined( __netcdf )
    559630          DO  av = 0, 1
     
    623694!
    624695!--    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
    647721                ENDIF
    648              ENDIF
    649 
    650 !
    651 !--          Read output time
    652              IF ( netcdf_output  .AND.  id == 0 )  THEN
    653                 IF ( netcdf_1 )  THEN
    654                    READ ( id+110, END=999 )  simulated_time, time_step, av
    655                 ELSE
    656 !
    657 !--                For compatibility with earlier PALM versions
    658                    READ ( id+110, END=999 )  simulated_time, time_step
    659                    av = 0
     722
     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
    660734                ENDIF
    661              ENDIF
    662 
    663 !
    664 !--          Read subdomain indices and grid point values
    665              READ ( id+110, END=999 )  xa, xe, ya, ye, za, ze
    666              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, zze
    676                 DO  j = yya, yye
    677                    DO  i = xxa, xxe
    678                       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
    679753                   ENDDO
    680754                ENDDO
     755
     756                DEALLOCATE( pf3d_tmp )
     757                IF ( id == 0 )  fanz(av) = fanz(av) + 1
     758
    681759             ENDDO
    682760
    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
    685791
    686792          ENDDO
    687793
    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
     796999    IF ( danz /= 0  .AND.  .NOT. netcdf_parallel )  THEN
    721797!
    722798!--       Print the number of arrays processed
     
    746822#endif
    747823          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
    748838       ENDIF
    749839
Note: See TracChangeset for help on using the changeset viewer.